(0) Obligation:

The Runtime Complexity (innermost) of the given CpxTRS could be proven to be BOUNDS(1, n^1).


The TRS R consists of the following rules:

active(c) → mark(f(g(c)))
active(f(g(X))) → mark(g(X))
proper(c) → ok(c)
proper(f(X)) → f(proper(X))
proper(g(X)) → g(proper(X))
f(ok(X)) → ok(f(X))
g(ok(X)) → ok(g(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Rewrite Strategy: INNERMOST

(1) CpxTrsMatchBoundsProof (EQUIVALENT transformation)

A linear upper bound on the runtime complexity of the TRS R could be shown with a Match Bound [MATCHBOUNDS1,MATCHBOUNDS2] of 6.
The certificate found is represented by the following graph.
Start state: 11
Accept states: [12]
Transitions:
11→12[active_1|0, proper_1|0, f_1|0, g_1|0, top_1|0]
11→13[mark_1|1]
11→16[ok_1|1]
11→17[ok_1|1]
11→18[ok_1|1]
11→19[top_1|1]
11→20[top_1|1]
11→21[top_1|2]
11→22[top_1|2]
11→27[top_1|3]
11→35[top_1|3]
11→39[top_1|4]
11→40[top_1|4]
11→43[top_1|5]
11→45[top_1|5]
11→48[top_1|6]
12→12[c|0, mark_1|0, ok_1|0]
13→14[f_1|1]
14→15[g_1|1]
15→12[c|1]
16→12[c|1]
17→12[f_1|1]
17→17[ok_1|1]
18→12[g_1|1]
18→18[ok_1|1]
19→12[proper_1|1]
19→16[ok_1|1]
20→12[active_1|1]
20→13[mark_1|1]
21→16[active_1|2]
21→23[mark_1|2]
22→13[proper_1|2]
22→26[f_1|2]
22→33[ok_1|3]
23→24[f_1|2]
24→25[g_1|2]
25→12[c|2]
26→14[proper_1|2]
26→28[g_1|2]
26→31[ok_1|3]
27→23[proper_1|3]
27→29[f_1|3]
27→37[ok_1|4]
28→15[proper_1|2]
28→30[ok_1|2]
29→24[proper_1|3]
29→32[g_1|3]
29→36[ok_1|4]
30→12[c|2]
31→30[g_1|3]
32→25[proper_1|3]
32→34[ok_1|3]
33→31[f_1|3]
34→12[c|3]
35→33[active_1|3]
35→38[mark_1|4]
36→34[g_1|4]
37→36[f_1|4]
38→30[g_1|4]
39→37[active_1|4]
39→41[mark_1|5]
40→38[proper_1|4]
40→42[g_1|5]
40→36[ok_1|4]
41→34[g_1|5]
42→30[proper_1|5]
42→34[ok_1|3]
43→41[proper_1|5]
43→44[g_1|6]
43→47[ok_1|5]
44→34[proper_1|6]
44→46[ok_1|4]
45→36[active_1|5]
46→12[c|4]
47→46[g_1|5]
48→47[active_1|6]

(2) BOUNDS(1, n^1)

(3) CpxTrsToCdtProof (BOTH BOUNDS(ID, ID) transformation)

Converted Cpx (relative) TRS to CDT

(4) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(c) → mark(f(g(c)))
active(f(g(z0))) → mark(g(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
f(ok(z0)) → ok(f(z0))
g(ok(z0)) → ok(g(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:

ACTIVE(c) → c1(F(g(c)), G(c))
ACTIVE(f(g(z0))) → c2(G(z0))
PROPER(c) → c3
PROPER(f(z0)) → c4(F(proper(z0)), PROPER(z0))
PROPER(g(z0)) → c5(G(proper(z0)), PROPER(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c9(TOP(active(z0)), ACTIVE(z0))
S tuples:

ACTIVE(c) → c1(F(g(c)), G(c))
ACTIVE(f(g(z0))) → c2(G(z0))
PROPER(c) → c3
PROPER(f(z0)) → c4(F(proper(z0)), PROPER(z0))
PROPER(g(z0)) → c5(G(proper(z0)), PROPER(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c9(TOP(active(z0)), ACTIVE(z0))
K tuples:none
Defined Rule Symbols:

active, proper, f, g, top

Defined Pair Symbols:

ACTIVE, PROPER, F, G, TOP

Compound Symbols:

c1, c2, c3, c4, c5, c6, c7, c8, c9

(5) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 2 trailing nodes:

ACTIVE(c) → c1(F(g(c)), G(c))
PROPER(c) → c3

(6) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(c) → mark(f(g(c)))
active(f(g(z0))) → mark(g(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
f(ok(z0)) → ok(f(z0))
g(ok(z0)) → ok(g(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
PROPER(f(z0)) → c4(F(proper(z0)), PROPER(z0))
PROPER(g(z0)) → c5(G(proper(z0)), PROPER(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c9(TOP(active(z0)), ACTIVE(z0))
S tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
PROPER(f(z0)) → c4(F(proper(z0)), PROPER(z0))
PROPER(g(z0)) → c5(G(proper(z0)), PROPER(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c9(TOP(active(z0)), ACTIVE(z0))
K tuples:none
Defined Rule Symbols:

active, proper, f, g, top

Defined Pair Symbols:

ACTIVE, PROPER, F, G, TOP

Compound Symbols:

c2, c4, c5, c6, c7, c8, c9

(7) CdtUsableRulesProof (EQUIVALENT transformation)

The following rules are not usable and were removed:

top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))

(8) Obligation:

Complexity Dependency Tuples Problem
Rules:

proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
f(ok(z0)) → ok(f(z0))
g(ok(z0)) → ok(g(z0))
active(c) → mark(f(g(c)))
active(f(g(z0))) → mark(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
PROPER(f(z0)) → c4(F(proper(z0)), PROPER(z0))
PROPER(g(z0)) → c5(G(proper(z0)), PROPER(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c9(TOP(active(z0)), ACTIVE(z0))
S tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
PROPER(f(z0)) → c4(F(proper(z0)), PROPER(z0))
PROPER(g(z0)) → c5(G(proper(z0)), PROPER(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c9(TOP(active(z0)), ACTIVE(z0))
K tuples:none
Defined Rule Symbols:

proper, f, g, active

Defined Pair Symbols:

ACTIVE, PROPER, F, G, TOP

Compound Symbols:

c2, c4, c5, c6, c7, c8, c9

(9) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1)) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
We considered the (Usable) Rules:

g(ok(z0)) → ok(g(z0))
proper(c) → ok(c)
proper(g(z0)) → g(proper(z0))
active(c) → mark(f(g(c)))
f(ok(z0)) → ok(f(z0))
proper(f(z0)) → f(proper(z0))
active(f(g(z0))) → mark(g(z0))
And the Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
PROPER(f(z0)) → c4(F(proper(z0)), PROPER(z0))
PROPER(g(z0)) → c5(G(proper(z0)), PROPER(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c9(TOP(active(z0)), ACTIVE(z0))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(ACTIVE(x1)) = 0   
POL(F(x1)) = 0   
POL(G(x1)) = 0   
POL(PROPER(x1)) = 0   
POL(TOP(x1)) = x1   
POL(active(x1)) = x1   
POL(c) = [2]   
POL(c2(x1)) = x1   
POL(c4(x1, x2)) = x1 + x2   
POL(c5(x1, x2)) = x1 + x2   
POL(c6(x1)) = x1   
POL(c7(x1)) = x1   
POL(c8(x1, x2)) = x1 + x2   
POL(c9(x1, x2)) = x1 + x2   
POL(f(x1)) = [1]   
POL(g(x1)) = 0   
POL(mark(x1)) = [1] + x1   
POL(ok(x1)) = x1   
POL(proper(x1)) = x1   

(10) Obligation:

Complexity Dependency Tuples Problem
Rules:

proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
f(ok(z0)) → ok(f(z0))
g(ok(z0)) → ok(g(z0))
active(c) → mark(f(g(c)))
active(f(g(z0))) → mark(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
PROPER(f(z0)) → c4(F(proper(z0)), PROPER(z0))
PROPER(g(z0)) → c5(G(proper(z0)), PROPER(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c9(TOP(active(z0)), ACTIVE(z0))
S tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
PROPER(f(z0)) → c4(F(proper(z0)), PROPER(z0))
PROPER(g(z0)) → c5(G(proper(z0)), PROPER(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
TOP(ok(z0)) → c9(TOP(active(z0)), ACTIVE(z0))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
Defined Rule Symbols:

proper, f, g, active

Defined Pair Symbols:

ACTIVE, PROPER, F, G, TOP

Compound Symbols:

c2, c4, c5, c6, c7, c8, c9

(11) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace PROPER(f(z0)) → c4(F(proper(z0)), PROPER(z0)) by

PROPER(f(c)) → c4(F(ok(c)), PROPER(c))
PROPER(f(f(z0))) → c4(F(f(proper(z0))), PROPER(f(z0)))
PROPER(f(g(z0))) → c4(F(g(proper(z0))), PROPER(g(z0)))

(12) Obligation:

Complexity Dependency Tuples Problem
Rules:

proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
f(ok(z0)) → ok(f(z0))
g(ok(z0)) → ok(g(z0))
active(c) → mark(f(g(c)))
active(f(g(z0))) → mark(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
PROPER(g(z0)) → c5(G(proper(z0)), PROPER(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c9(TOP(active(z0)), ACTIVE(z0))
PROPER(f(c)) → c4(F(ok(c)), PROPER(c))
PROPER(f(f(z0))) → c4(F(f(proper(z0))), PROPER(f(z0)))
PROPER(f(g(z0))) → c4(F(g(proper(z0))), PROPER(g(z0)))
S tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
PROPER(g(z0)) → c5(G(proper(z0)), PROPER(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
TOP(ok(z0)) → c9(TOP(active(z0)), ACTIVE(z0))
PROPER(f(c)) → c4(F(ok(c)), PROPER(c))
PROPER(f(f(z0))) → c4(F(f(proper(z0))), PROPER(f(z0)))
PROPER(f(g(z0))) → c4(F(g(proper(z0))), PROPER(g(z0)))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
Defined Rule Symbols:

proper, f, g, active

Defined Pair Symbols:

ACTIVE, PROPER, F, G, TOP

Compound Symbols:

c2, c5, c6, c7, c8, c9, c4

(13) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID) transformation)

Removed 1 trailing tuple parts

(14) Obligation:

Complexity Dependency Tuples Problem
Rules:

proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
f(ok(z0)) → ok(f(z0))
g(ok(z0)) → ok(g(z0))
active(c) → mark(f(g(c)))
active(f(g(z0))) → mark(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
PROPER(g(z0)) → c5(G(proper(z0)), PROPER(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c9(TOP(active(z0)), ACTIVE(z0))
PROPER(f(f(z0))) → c4(F(f(proper(z0))), PROPER(f(z0)))
PROPER(f(g(z0))) → c4(F(g(proper(z0))), PROPER(g(z0)))
PROPER(f(c)) → c4(F(ok(c)))
S tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
PROPER(g(z0)) → c5(G(proper(z0)), PROPER(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
TOP(ok(z0)) → c9(TOP(active(z0)), ACTIVE(z0))
PROPER(f(f(z0))) → c4(F(f(proper(z0))), PROPER(f(z0)))
PROPER(f(g(z0))) → c4(F(g(proper(z0))), PROPER(g(z0)))
PROPER(f(c)) → c4(F(ok(c)))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
Defined Rule Symbols:

proper, f, g, active

Defined Pair Symbols:

ACTIVE, PROPER, F, G, TOP

Compound Symbols:

c2, c5, c6, c7, c8, c9, c4, c4

(15) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1)) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

PROPER(f(c)) → c4(F(ok(c)))
We considered the (Usable) Rules:

g(ok(z0)) → ok(g(z0))
proper(c) → ok(c)
proper(g(z0)) → g(proper(z0))
active(c) → mark(f(g(c)))
f(ok(z0)) → ok(f(z0))
proper(f(z0)) → f(proper(z0))
active(f(g(z0))) → mark(g(z0))
And the Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
PROPER(g(z0)) → c5(G(proper(z0)), PROPER(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c9(TOP(active(z0)), ACTIVE(z0))
PROPER(f(f(z0))) → c4(F(f(proper(z0))), PROPER(f(z0)))
PROPER(f(g(z0))) → c4(F(g(proper(z0))), PROPER(g(z0)))
PROPER(f(c)) → c4(F(ok(c)))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(ACTIVE(x1)) = 0   
POL(F(x1)) = 0   
POL(G(x1)) = 0   
POL(PROPER(x1)) = [1]   
POL(TOP(x1)) = x1   
POL(active(x1)) = x1   
POL(c) = [3]   
POL(c2(x1)) = x1   
POL(c4(x1)) = x1   
POL(c4(x1, x2)) = x1 + x2   
POL(c5(x1, x2)) = x1 + x2   
POL(c6(x1)) = x1   
POL(c7(x1)) = x1   
POL(c8(x1, x2)) = x1 + x2   
POL(c9(x1, x2)) = x1 + x2   
POL(f(x1)) = [2]   
POL(g(x1)) = 0   
POL(mark(x1)) = [1] + x1   
POL(ok(x1)) = x1   
POL(proper(x1)) = x1   

(16) Obligation:

Complexity Dependency Tuples Problem
Rules:

proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
f(ok(z0)) → ok(f(z0))
g(ok(z0)) → ok(g(z0))
active(c) → mark(f(g(c)))
active(f(g(z0))) → mark(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
PROPER(g(z0)) → c5(G(proper(z0)), PROPER(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c9(TOP(active(z0)), ACTIVE(z0))
PROPER(f(f(z0))) → c4(F(f(proper(z0))), PROPER(f(z0)))
PROPER(f(g(z0))) → c4(F(g(proper(z0))), PROPER(g(z0)))
PROPER(f(c)) → c4(F(ok(c)))
S tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
PROPER(g(z0)) → c5(G(proper(z0)), PROPER(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
TOP(ok(z0)) → c9(TOP(active(z0)), ACTIVE(z0))
PROPER(f(f(z0))) → c4(F(f(proper(z0))), PROPER(f(z0)))
PROPER(f(g(z0))) → c4(F(g(proper(z0))), PROPER(g(z0)))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
Defined Rule Symbols:

proper, f, g, active

Defined Pair Symbols:

ACTIVE, PROPER, F, G, TOP

Compound Symbols:

c2, c5, c6, c7, c8, c9, c4, c4

(17) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace PROPER(g(z0)) → c5(G(proper(z0)), PROPER(z0)) by

PROPER(g(c)) → c5(G(ok(c)), PROPER(c))
PROPER(g(f(z0))) → c5(G(f(proper(z0))), PROPER(f(z0)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))

(18) Obligation:

Complexity Dependency Tuples Problem
Rules:

proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
f(ok(z0)) → ok(f(z0))
g(ok(z0)) → ok(g(z0))
active(c) → mark(f(g(c)))
active(f(g(z0))) → mark(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c9(TOP(active(z0)), ACTIVE(z0))
PROPER(f(f(z0))) → c4(F(f(proper(z0))), PROPER(f(z0)))
PROPER(f(g(z0))) → c4(F(g(proper(z0))), PROPER(g(z0)))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)), PROPER(c))
PROPER(g(f(z0))) → c5(G(f(proper(z0))), PROPER(f(z0)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
S tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
TOP(ok(z0)) → c9(TOP(active(z0)), ACTIVE(z0))
PROPER(f(f(z0))) → c4(F(f(proper(z0))), PROPER(f(z0)))
PROPER(f(g(z0))) → c4(F(g(proper(z0))), PROPER(g(z0)))
PROPER(g(c)) → c5(G(ok(c)), PROPER(c))
PROPER(g(f(z0))) → c5(G(f(proper(z0))), PROPER(f(z0)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
Defined Rule Symbols:

proper, f, g, active

Defined Pair Symbols:

ACTIVE, F, G, TOP, PROPER

Compound Symbols:

c2, c6, c7, c8, c9, c4, c4, c5

(19) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID) transformation)

Removed 1 trailing tuple parts

(20) Obligation:

Complexity Dependency Tuples Problem
Rules:

proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
f(ok(z0)) → ok(f(z0))
g(ok(z0)) → ok(g(z0))
active(c) → mark(f(g(c)))
active(f(g(z0))) → mark(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c9(TOP(active(z0)), ACTIVE(z0))
PROPER(f(f(z0))) → c4(F(f(proper(z0))), PROPER(f(z0)))
PROPER(f(g(z0))) → c4(F(g(proper(z0))), PROPER(g(z0)))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(f(z0))) → c5(G(f(proper(z0))), PROPER(f(z0)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
PROPER(g(c)) → c5(G(ok(c)))
S tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
TOP(ok(z0)) → c9(TOP(active(z0)), ACTIVE(z0))
PROPER(f(f(z0))) → c4(F(f(proper(z0))), PROPER(f(z0)))
PROPER(f(g(z0))) → c4(F(g(proper(z0))), PROPER(g(z0)))
PROPER(g(f(z0))) → c5(G(f(proper(z0))), PROPER(f(z0)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
PROPER(g(c)) → c5(G(ok(c)))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
Defined Rule Symbols:

proper, f, g, active

Defined Pair Symbols:

ACTIVE, F, G, TOP, PROPER

Compound Symbols:

c2, c6, c7, c8, c9, c4, c4, c5, c5

(21) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1)) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

PROPER(g(c)) → c5(G(ok(c)))
We considered the (Usable) Rules:

g(ok(z0)) → ok(g(z0))
proper(c) → ok(c)
proper(g(z0)) → g(proper(z0))
active(c) → mark(f(g(c)))
f(ok(z0)) → ok(f(z0))
proper(f(z0)) → f(proper(z0))
active(f(g(z0))) → mark(g(z0))
And the Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c9(TOP(active(z0)), ACTIVE(z0))
PROPER(f(f(z0))) → c4(F(f(proper(z0))), PROPER(f(z0)))
PROPER(f(g(z0))) → c4(F(g(proper(z0))), PROPER(g(z0)))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(f(z0))) → c5(G(f(proper(z0))), PROPER(f(z0)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
PROPER(g(c)) → c5(G(ok(c)))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(ACTIVE(x1)) = 0   
POL(F(x1)) = 0   
POL(G(x1)) = 0   
POL(PROPER(x1)) = [1]   
POL(TOP(x1)) = [2]x1   
POL(active(x1)) = x1   
POL(c) = [2]   
POL(c2(x1)) = x1   
POL(c4(x1)) = x1   
POL(c4(x1, x2)) = x1 + x2   
POL(c5(x1)) = x1   
POL(c5(x1, x2)) = x1 + x2   
POL(c6(x1)) = x1   
POL(c7(x1)) = x1   
POL(c8(x1, x2)) = x1 + x2   
POL(c9(x1, x2)) = x1 + x2   
POL(f(x1)) = [1]   
POL(g(x1)) = 0   
POL(mark(x1)) = [1] + x1   
POL(ok(x1)) = x1   
POL(proper(x1)) = x1   

(22) Obligation:

Complexity Dependency Tuples Problem
Rules:

proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
f(ok(z0)) → ok(f(z0))
g(ok(z0)) → ok(g(z0))
active(c) → mark(f(g(c)))
active(f(g(z0))) → mark(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c9(TOP(active(z0)), ACTIVE(z0))
PROPER(f(f(z0))) → c4(F(f(proper(z0))), PROPER(f(z0)))
PROPER(f(g(z0))) → c4(F(g(proper(z0))), PROPER(g(z0)))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(f(z0))) → c5(G(f(proper(z0))), PROPER(f(z0)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
PROPER(g(c)) → c5(G(ok(c)))
S tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
TOP(ok(z0)) → c9(TOP(active(z0)), ACTIVE(z0))
PROPER(f(f(z0))) → c4(F(f(proper(z0))), PROPER(f(z0)))
PROPER(f(g(z0))) → c4(F(g(proper(z0))), PROPER(g(z0)))
PROPER(g(f(z0))) → c5(G(f(proper(z0))), PROPER(f(z0)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
Defined Rule Symbols:

proper, f, g, active

Defined Pair Symbols:

ACTIVE, F, G, TOP, PROPER

Compound Symbols:

c2, c6, c7, c8, c9, c4, c4, c5, c5

(23) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0)) by

TOP(mark(c)) → c8(TOP(ok(c)), PROPER(c))
TOP(mark(f(z0))) → c8(TOP(f(proper(z0))), PROPER(f(z0)))
TOP(mark(g(z0))) → c8(TOP(g(proper(z0))), PROPER(g(z0)))

(24) Obligation:

Complexity Dependency Tuples Problem
Rules:

proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
f(ok(z0)) → ok(f(z0))
g(ok(z0)) → ok(g(z0))
active(c) → mark(f(g(c)))
active(f(g(z0))) → mark(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
TOP(ok(z0)) → c9(TOP(active(z0)), ACTIVE(z0))
PROPER(f(f(z0))) → c4(F(f(proper(z0))), PROPER(f(z0)))
PROPER(f(g(z0))) → c4(F(g(proper(z0))), PROPER(g(z0)))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(f(z0))) → c5(G(f(proper(z0))), PROPER(f(z0)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)), PROPER(c))
TOP(mark(f(z0))) → c8(TOP(f(proper(z0))), PROPER(f(z0)))
TOP(mark(g(z0))) → c8(TOP(g(proper(z0))), PROPER(g(z0)))
S tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
TOP(ok(z0)) → c9(TOP(active(z0)), ACTIVE(z0))
PROPER(f(f(z0))) → c4(F(f(proper(z0))), PROPER(f(z0)))
PROPER(f(g(z0))) → c4(F(g(proper(z0))), PROPER(g(z0)))
PROPER(g(f(z0))) → c5(G(f(proper(z0))), PROPER(f(z0)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
Defined Rule Symbols:

proper, f, g, active

Defined Pair Symbols:

ACTIVE, F, G, TOP, PROPER

Compound Symbols:

c2, c6, c7, c9, c4, c4, c5, c5, c8

(25) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID) transformation)

Removed 1 trailing tuple parts

(26) Obligation:

Complexity Dependency Tuples Problem
Rules:

proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
f(ok(z0)) → ok(f(z0))
g(ok(z0)) → ok(g(z0))
active(c) → mark(f(g(c)))
active(f(g(z0))) → mark(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
TOP(ok(z0)) → c9(TOP(active(z0)), ACTIVE(z0))
PROPER(f(f(z0))) → c4(F(f(proper(z0))), PROPER(f(z0)))
PROPER(f(g(z0))) → c4(F(g(proper(z0))), PROPER(g(z0)))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(f(z0))) → c5(G(f(proper(z0))), PROPER(f(z0)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(f(z0))) → c8(TOP(f(proper(z0))), PROPER(f(z0)))
TOP(mark(g(z0))) → c8(TOP(g(proper(z0))), PROPER(g(z0)))
TOP(mark(c)) → c8(TOP(ok(c)))
S tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
TOP(ok(z0)) → c9(TOP(active(z0)), ACTIVE(z0))
PROPER(f(f(z0))) → c4(F(f(proper(z0))), PROPER(f(z0)))
PROPER(f(g(z0))) → c4(F(g(proper(z0))), PROPER(g(z0)))
PROPER(g(f(z0))) → c5(G(f(proper(z0))), PROPER(f(z0)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
Defined Rule Symbols:

proper, f, g, active

Defined Pair Symbols:

ACTIVE, F, G, TOP, PROPER

Compound Symbols:

c2, c6, c7, c9, c4, c4, c5, c5, c8, c8

(27) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace TOP(ok(z0)) → c9(TOP(active(z0)), ACTIVE(z0)) by

TOP(ok(c)) → c9(TOP(mark(f(g(c)))), ACTIVE(c))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))

(28) Obligation:

Complexity Dependency Tuples Problem
Rules:

proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
f(ok(z0)) → ok(f(z0))
g(ok(z0)) → ok(g(z0))
active(c) → mark(f(g(c)))
active(f(g(z0))) → mark(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(z0))) → c4(F(f(proper(z0))), PROPER(f(z0)))
PROPER(f(g(z0))) → c4(F(g(proper(z0))), PROPER(g(z0)))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(f(z0))) → c5(G(f(proper(z0))), PROPER(f(z0)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(f(z0))) → c8(TOP(f(proper(z0))), PROPER(f(z0)))
TOP(mark(g(z0))) → c8(TOP(g(proper(z0))), PROPER(g(z0)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))), ACTIVE(c))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
S tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(z0))) → c4(F(f(proper(z0))), PROPER(f(z0)))
PROPER(f(g(z0))) → c4(F(g(proper(z0))), PROPER(g(z0)))
PROPER(g(f(z0))) → c5(G(f(proper(z0))), PROPER(f(z0)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))), ACTIVE(c))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
Defined Rule Symbols:

proper, f, g, active

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c4, c5, c5, c8, c8, c9

(29) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID) transformation)

Removed 1 trailing tuple parts

(30) Obligation:

Complexity Dependency Tuples Problem
Rules:

proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
f(ok(z0)) → ok(f(z0))
g(ok(z0)) → ok(g(z0))
active(c) → mark(f(g(c)))
active(f(g(z0))) → mark(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(z0))) → c4(F(f(proper(z0))), PROPER(f(z0)))
PROPER(f(g(z0))) → c4(F(g(proper(z0))), PROPER(g(z0)))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(f(z0))) → c5(G(f(proper(z0))), PROPER(f(z0)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(f(z0))) → c8(TOP(f(proper(z0))), PROPER(f(z0)))
TOP(mark(g(z0))) → c8(TOP(g(proper(z0))), PROPER(g(z0)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
S tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(z0))) → c4(F(f(proper(z0))), PROPER(f(z0)))
PROPER(f(g(z0))) → c4(F(g(proper(z0))), PROPER(g(z0)))
PROPER(g(f(z0))) → c5(G(f(proper(z0))), PROPER(f(z0)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
Defined Rule Symbols:

proper, f, g, active

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c4, c5, c5, c8, c8, c9, c9

(31) CdtUsableRulesProof (EQUIVALENT transformation)

The following rules are not usable and were removed:

active(c) → mark(f(g(c)))
active(f(g(z0))) → mark(g(z0))

(32) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(z0))) → c4(F(f(proper(z0))), PROPER(f(z0)))
PROPER(f(g(z0))) → c4(F(g(proper(z0))), PROPER(g(z0)))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(f(z0))) → c5(G(f(proper(z0))), PROPER(f(z0)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(f(z0))) → c8(TOP(f(proper(z0))), PROPER(f(z0)))
TOP(mark(g(z0))) → c8(TOP(g(proper(z0))), PROPER(g(z0)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
S tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(z0))) → c4(F(f(proper(z0))), PROPER(f(z0)))
PROPER(f(g(z0))) → c4(F(g(proper(z0))), PROPER(g(z0)))
PROPER(g(f(z0))) → c5(G(f(proper(z0))), PROPER(f(z0)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c4, c5, c5, c8, c8, c9, c9

(33) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1)) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
We considered the (Usable) Rules:

g(ok(z0)) → ok(g(z0))
f(ok(z0)) → ok(f(z0))
And the Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(z0))) → c4(F(f(proper(z0))), PROPER(f(z0)))
PROPER(f(g(z0))) → c4(F(g(proper(z0))), PROPER(g(z0)))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(f(z0))) → c5(G(f(proper(z0))), PROPER(f(z0)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(f(z0))) → c8(TOP(f(proper(z0))), PROPER(f(z0)))
TOP(mark(g(z0))) → c8(TOP(g(proper(z0))), PROPER(g(z0)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(ACTIVE(x1)) = 0   
POL(F(x1)) = 0   
POL(G(x1)) = 0   
POL(PROPER(x1)) = 0   
POL(TOP(x1)) = x1   
POL(c) = [1]   
POL(c2(x1)) = x1   
POL(c4(x1)) = x1   
POL(c4(x1, x2)) = x1 + x2   
POL(c5(x1)) = x1   
POL(c5(x1, x2)) = x1 + x2   
POL(c6(x1)) = x1   
POL(c7(x1)) = x1   
POL(c8(x1)) = x1   
POL(c8(x1, x2)) = x1 + x2   
POL(c9(x1)) = x1   
POL(c9(x1, x2)) = x1 + x2   
POL(f(x1)) = 0   
POL(g(x1)) = 0   
POL(mark(x1)) = x1   
POL(ok(x1)) = x1   
POL(proper(x1)) = 0   

(34) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(z0))) → c4(F(f(proper(z0))), PROPER(f(z0)))
PROPER(f(g(z0))) → c4(F(g(proper(z0))), PROPER(g(z0)))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(f(z0))) → c5(G(f(proper(z0))), PROPER(f(z0)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(f(z0))) → c8(TOP(f(proper(z0))), PROPER(f(z0)))
TOP(mark(g(z0))) → c8(TOP(g(proper(z0))), PROPER(g(z0)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
S tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(z0))) → c4(F(f(proper(z0))), PROPER(f(z0)))
PROPER(f(g(z0))) → c4(F(g(proper(z0))), PROPER(g(z0)))
PROPER(g(f(z0))) → c5(G(f(proper(z0))), PROPER(f(z0)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c4, c5, c5, c8, c8, c9, c9

(35) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1)) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

ACTIVE(f(g(z0))) → c2(G(z0))
We considered the (Usable) Rules:

g(ok(z0)) → ok(g(z0))
f(ok(z0)) → ok(f(z0))
And the Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(z0))) → c4(F(f(proper(z0))), PROPER(f(z0)))
PROPER(f(g(z0))) → c4(F(g(proper(z0))), PROPER(g(z0)))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(f(z0))) → c5(G(f(proper(z0))), PROPER(f(z0)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(f(z0))) → c8(TOP(f(proper(z0))), PROPER(f(z0)))
TOP(mark(g(z0))) → c8(TOP(g(proper(z0))), PROPER(g(z0)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(ACTIVE(x1)) = x1   
POL(F(x1)) = 0   
POL(G(x1)) = 0   
POL(PROPER(x1)) = 0   
POL(TOP(x1)) = x1   
POL(c) = [1]   
POL(c2(x1)) = x1   
POL(c4(x1)) = x1   
POL(c4(x1, x2)) = x1 + x2   
POL(c5(x1)) = x1   
POL(c5(x1, x2)) = x1 + x2   
POL(c6(x1)) = x1   
POL(c7(x1)) = x1   
POL(c8(x1)) = x1   
POL(c8(x1, x2)) = x1 + x2   
POL(c9(x1)) = x1   
POL(c9(x1, x2)) = x1 + x2   
POL(f(x1)) = [1]   
POL(g(x1)) = 0   
POL(mark(x1)) = x1   
POL(ok(x1)) = x1   
POL(proper(x1)) = 0   

(36) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(z0))) → c4(F(f(proper(z0))), PROPER(f(z0)))
PROPER(f(g(z0))) → c4(F(g(proper(z0))), PROPER(g(z0)))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(f(z0))) → c5(G(f(proper(z0))), PROPER(f(z0)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(f(z0))) → c8(TOP(f(proper(z0))), PROPER(f(z0)))
TOP(mark(g(z0))) → c8(TOP(g(proper(z0))), PROPER(g(z0)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(z0))) → c4(F(f(proper(z0))), PROPER(f(z0)))
PROPER(f(g(z0))) → c4(F(g(proper(z0))), PROPER(g(z0)))
PROPER(g(f(z0))) → c5(G(f(proper(z0))), PROPER(f(z0)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c4, c5, c5, c8, c8, c9, c9

(37) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1)) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
We considered the (Usable) Rules:

g(ok(z0)) → ok(g(z0))
f(ok(z0)) → ok(f(z0))
And the Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(z0))) → c4(F(f(proper(z0))), PROPER(f(z0)))
PROPER(f(g(z0))) → c4(F(g(proper(z0))), PROPER(g(z0)))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(f(z0))) → c5(G(f(proper(z0))), PROPER(f(z0)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(f(z0))) → c8(TOP(f(proper(z0))), PROPER(f(z0)))
TOP(mark(g(z0))) → c8(TOP(g(proper(z0))), PROPER(g(z0)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(ACTIVE(x1)) = 0   
POL(F(x1)) = 0   
POL(G(x1)) = 0   
POL(PROPER(x1)) = 0   
POL(TOP(x1)) = x1   
POL(c) = [1]   
POL(c2(x1)) = x1   
POL(c4(x1)) = x1   
POL(c4(x1, x2)) = x1 + x2   
POL(c5(x1)) = x1   
POL(c5(x1, x2)) = x1 + x2   
POL(c6(x1)) = x1   
POL(c7(x1)) = x1   
POL(c8(x1)) = x1   
POL(c8(x1, x2)) = x1 + x2   
POL(c9(x1)) = x1   
POL(c9(x1, x2)) = x1 + x2   
POL(f(x1)) = [1]   
POL(g(x1)) = 0   
POL(mark(x1)) = x1   
POL(ok(x1)) = x1   
POL(proper(x1)) = 0   

(38) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(z0))) → c4(F(f(proper(z0))), PROPER(f(z0)))
PROPER(f(g(z0))) → c4(F(g(proper(z0))), PROPER(g(z0)))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(f(z0))) → c5(G(f(proper(z0))), PROPER(f(z0)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(f(z0))) → c8(TOP(f(proper(z0))), PROPER(f(z0)))
TOP(mark(g(z0))) → c8(TOP(g(proper(z0))), PROPER(g(z0)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(z0))) → c4(F(f(proper(z0))), PROPER(f(z0)))
PROPER(f(g(z0))) → c4(F(g(proper(z0))), PROPER(g(z0)))
PROPER(g(f(z0))) → c5(G(f(proper(z0))), PROPER(f(z0)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c4, c5, c5, c8, c8, c9, c9

(39) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace PROPER(f(f(z0))) → c4(F(f(proper(z0))), PROPER(f(z0))) by

PROPER(f(f(c))) → c4(F(f(ok(c))), PROPER(f(c)))
PROPER(f(f(f(z0)))) → c4(F(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(f(f(g(z0)))) → c4(F(f(g(proper(z0)))), PROPER(f(g(z0))))

(40) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(g(z0))) → c4(F(g(proper(z0))), PROPER(g(z0)))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(f(z0))) → c5(G(f(proper(z0))), PROPER(f(z0)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(f(z0))) → c8(TOP(f(proper(z0))), PROPER(f(z0)))
TOP(mark(g(z0))) → c8(TOP(g(proper(z0))), PROPER(g(z0)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c4(F(f(ok(c))), PROPER(f(c)))
PROPER(f(f(f(z0)))) → c4(F(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(f(f(g(z0)))) → c4(F(f(g(proper(z0)))), PROPER(f(g(z0))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(g(z0))) → c4(F(g(proper(z0))), PROPER(g(z0)))
PROPER(g(f(z0))) → c5(G(f(proper(z0))), PROPER(f(z0)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
PROPER(f(f(c))) → c4(F(f(ok(c))), PROPER(f(c)))
PROPER(f(f(f(z0)))) → c4(F(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(f(f(g(z0)))) → c4(F(f(g(proper(z0)))), PROPER(f(g(z0))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c4, c5, c5, c8, c8, c9, c9

(41) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID) transformation)

Split RHS of tuples not part of any SCC

(42) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(g(z0))) → c4(F(g(proper(z0))), PROPER(g(z0)))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(f(z0))) → c5(G(f(proper(z0))), PROPER(f(z0)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(f(z0))) → c8(TOP(f(proper(z0))), PROPER(f(z0)))
TOP(mark(g(z0))) → c8(TOP(g(proper(z0))), PROPER(g(z0)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(z0)))) → c4(F(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(f(f(g(z0)))) → c4(F(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(g(z0))) → c4(F(g(proper(z0))), PROPER(g(z0)))
PROPER(g(f(z0))) → c5(G(f(proper(z0))), PROPER(f(z0)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
PROPER(f(f(f(z0)))) → c4(F(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(f(f(g(z0)))) → c4(F(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c4, c5, c5, c8, c8, c9, c9, c1

(43) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1)) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

PROPER(f(f(c))) → c1(F(f(ok(c))))
We considered the (Usable) Rules:

g(ok(z0)) → ok(g(z0))
f(ok(z0)) → ok(f(z0))
And the Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(g(z0))) → c4(F(g(proper(z0))), PROPER(g(z0)))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(f(z0))) → c5(G(f(proper(z0))), PROPER(f(z0)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(f(z0))) → c8(TOP(f(proper(z0))), PROPER(f(z0)))
TOP(mark(g(z0))) → c8(TOP(g(proper(z0))), PROPER(g(z0)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(z0)))) → c4(F(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(f(f(g(z0)))) → c4(F(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(ACTIVE(x1)) = 0   
POL(F(x1)) = 0   
POL(G(x1)) = 0   
POL(PROPER(x1)) = [1]   
POL(TOP(x1)) = x1   
POL(c) = [3]   
POL(c1(x1)) = x1   
POL(c2(x1)) = x1   
POL(c4(x1)) = x1   
POL(c4(x1, x2)) = x1 + x2   
POL(c5(x1)) = x1   
POL(c5(x1, x2)) = x1 + x2   
POL(c6(x1)) = x1   
POL(c7(x1)) = x1   
POL(c8(x1)) = x1   
POL(c8(x1, x2)) = x1 + x2   
POL(c9(x1)) = x1   
POL(c9(x1, x2)) = x1 + x2   
POL(f(x1)) = [2]   
POL(g(x1)) = 0   
POL(mark(x1)) = [1] + x1   
POL(ok(x1)) = x1   
POL(proper(x1)) = 0   

(44) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(g(z0))) → c4(F(g(proper(z0))), PROPER(g(z0)))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(f(z0))) → c5(G(f(proper(z0))), PROPER(f(z0)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(f(z0))) → c8(TOP(f(proper(z0))), PROPER(f(z0)))
TOP(mark(g(z0))) → c8(TOP(g(proper(z0))), PROPER(g(z0)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(z0)))) → c4(F(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(f(f(g(z0)))) → c4(F(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(g(z0))) → c4(F(g(proper(z0))), PROPER(g(z0)))
PROPER(g(f(z0))) → c5(G(f(proper(z0))), PROPER(f(z0)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
PROPER(f(f(f(z0)))) → c4(F(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(f(f(g(z0)))) → c4(F(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c4, c5, c5, c8, c8, c9, c9, c1

(45) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace PROPER(f(g(z0))) → c4(F(g(proper(z0))), PROPER(g(z0))) by

PROPER(f(g(c))) → c4(F(g(ok(c))), PROPER(g(c)))
PROPER(f(g(f(z0)))) → c4(F(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))

(46) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(f(z0))) → c5(G(f(proper(z0))), PROPER(f(z0)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(f(z0))) → c8(TOP(f(proper(z0))), PROPER(f(z0)))
TOP(mark(g(z0))) → c8(TOP(g(proper(z0))), PROPER(g(z0)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(z0)))) → c4(F(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(f(f(g(z0)))) → c4(F(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c4(F(g(ok(c))), PROPER(g(c)))
PROPER(f(g(f(z0)))) → c4(F(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(g(f(z0))) → c5(G(f(proper(z0))), PROPER(f(z0)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
PROPER(f(f(f(z0)))) → c4(F(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(f(f(g(z0)))) → c4(F(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c4(F(g(ok(c))), PROPER(g(c)))
PROPER(f(g(f(z0)))) → c4(F(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c5, c8, c8, c9, c9, c4, c1

(47) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID) transformation)

Split RHS of tuples not part of any SCC

(48) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(f(z0))) → c5(G(f(proper(z0))), PROPER(f(z0)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(f(z0))) → c8(TOP(f(proper(z0))), PROPER(f(z0)))
TOP(mark(g(z0))) → c8(TOP(g(proper(z0))), PROPER(g(z0)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(z0)))) → c4(F(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(f(f(g(z0)))) → c4(F(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(f(z0)))) → c4(F(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(g(f(z0))) → c5(G(f(proper(z0))), PROPER(f(z0)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
PROPER(f(f(f(z0)))) → c4(F(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(f(f(g(z0)))) → c4(F(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(f(z0)))) → c4(F(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c5, c8, c8, c9, c9, c4, c1, c3

(49) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1)) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

PROPER(f(g(c))) → c3(F(g(ok(c))))
We considered the (Usable) Rules:

g(ok(z0)) → ok(g(z0))
proper(c) → ok(c)
proper(g(z0)) → g(proper(z0))
f(ok(z0)) → ok(f(z0))
proper(f(z0)) → f(proper(z0))
And the Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(f(z0))) → c5(G(f(proper(z0))), PROPER(f(z0)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(f(z0))) → c8(TOP(f(proper(z0))), PROPER(f(z0)))
TOP(mark(g(z0))) → c8(TOP(g(proper(z0))), PROPER(g(z0)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(z0)))) → c4(F(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(f(f(g(z0)))) → c4(F(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(f(z0)))) → c4(F(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(ACTIVE(x1)) = 0   
POL(F(x1)) = 0   
POL(G(x1)) = 0   
POL(PROPER(x1)) = [2]   
POL(TOP(x1)) = [2]x1   
POL(c) = [3]   
POL(c1(x1)) = x1   
POL(c2(x1)) = x1   
POL(c3(x1)) = x1   
POL(c4(x1)) = x1   
POL(c4(x1, x2)) = x1 + x2   
POL(c5(x1)) = x1   
POL(c5(x1, x2)) = x1 + x2   
POL(c6(x1)) = x1   
POL(c7(x1)) = x1   
POL(c8(x1)) = x1   
POL(c8(x1, x2)) = x1 + x2   
POL(c9(x1)) = x1   
POL(c9(x1, x2)) = x1 + x2   
POL(f(x1)) = [2]x1   
POL(g(x1)) = [1]   
POL(mark(x1)) = [1] + x1   
POL(ok(x1)) = x1   
POL(proper(x1)) = x1   

(50) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(f(z0))) → c5(G(f(proper(z0))), PROPER(f(z0)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(f(z0))) → c8(TOP(f(proper(z0))), PROPER(f(z0)))
TOP(mark(g(z0))) → c8(TOP(g(proper(z0))), PROPER(g(z0)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(z0)))) → c4(F(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(f(f(g(z0)))) → c4(F(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(f(z0)))) → c4(F(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(g(f(z0))) → c5(G(f(proper(z0))), PROPER(f(z0)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
PROPER(f(f(f(z0)))) → c4(F(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(f(f(g(z0)))) → c4(F(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(f(z0)))) → c4(F(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c5, c8, c8, c9, c9, c4, c1, c3

(51) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace PROPER(g(f(z0))) → c5(G(f(proper(z0))), PROPER(f(z0))) by

PROPER(g(f(c))) → c5(G(f(ok(c))), PROPER(f(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))

(52) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(f(z0))) → c8(TOP(f(proper(z0))), PROPER(f(z0)))
TOP(mark(g(z0))) → c8(TOP(g(proper(z0))), PROPER(g(z0)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(z0)))) → c4(F(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(f(f(g(z0)))) → c4(F(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(f(z0)))) → c4(F(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c5(G(f(ok(c))), PROPER(f(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
PROPER(f(f(f(z0)))) → c4(F(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(f(f(g(z0)))) → c4(F(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(f(z0)))) → c4(F(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c5(G(f(ok(c))), PROPER(f(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c5, c8, c8, c9, c9, c4, c1, c3

(53) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID) transformation)

Split RHS of tuples not part of any SCC

(54) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(f(z0))) → c8(TOP(f(proper(z0))), PROPER(f(z0)))
TOP(mark(g(z0))) → c8(TOP(g(proper(z0))), PROPER(g(z0)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(z0)))) → c4(F(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(f(f(g(z0)))) → c4(F(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(f(z0)))) → c4(F(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
PROPER(f(f(f(z0)))) → c4(F(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(f(f(g(z0)))) → c4(F(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(f(z0)))) → c4(F(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c5, c8, c8, c9, c9, c4, c1, c3, c10

(55) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1)) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

PROPER(g(f(c))) → c10(G(f(ok(c))))
We considered the (Usable) Rules:

g(ok(z0)) → ok(g(z0))
f(ok(z0)) → ok(f(z0))
And the Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(f(z0))) → c8(TOP(f(proper(z0))), PROPER(f(z0)))
TOP(mark(g(z0))) → c8(TOP(g(proper(z0))), PROPER(g(z0)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(z0)))) → c4(F(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(f(f(g(z0)))) → c4(F(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(f(z0)))) → c4(F(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(ACTIVE(x1)) = 0   
POL(F(x1)) = 0   
POL(G(x1)) = 0   
POL(PROPER(x1)) = [1]   
POL(TOP(x1)) = [2]x1   
POL(c) = [3]   
POL(c1(x1)) = x1   
POL(c10(x1)) = x1   
POL(c2(x1)) = x1   
POL(c3(x1)) = x1   
POL(c4(x1)) = x1   
POL(c4(x1, x2)) = x1 + x2   
POL(c5(x1)) = x1   
POL(c5(x1, x2)) = x1 + x2   
POL(c6(x1)) = x1   
POL(c7(x1)) = x1   
POL(c8(x1)) = x1   
POL(c8(x1, x2)) = x1 + x2   
POL(c9(x1)) = x1   
POL(c9(x1, x2)) = x1 + x2   
POL(f(x1)) = [2]   
POL(g(x1)) = [1]   
POL(mark(x1)) = [1] + x1   
POL(ok(x1)) = x1   
POL(proper(x1)) = 0   

(56) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(f(z0))) → c8(TOP(f(proper(z0))), PROPER(f(z0)))
TOP(mark(g(z0))) → c8(TOP(g(proper(z0))), PROPER(g(z0)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(z0)))) → c4(F(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(f(f(g(z0)))) → c4(F(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(f(z0)))) → c4(F(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0)))
PROPER(f(f(f(z0)))) → c4(F(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(f(f(g(z0)))) → c4(F(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(f(z0)))) → c4(F(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c5, c8, c8, c9, c9, c4, c1, c3, c10

(57) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace PROPER(g(g(z0))) → c5(G(g(proper(z0))), PROPER(g(z0))) by

PROPER(g(g(c))) → c5(G(g(ok(c))), PROPER(g(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))

(58) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(f(z0))) → c8(TOP(f(proper(z0))), PROPER(f(z0)))
TOP(mark(g(z0))) → c8(TOP(g(proper(z0))), PROPER(g(z0)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(z0)))) → c4(F(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(f(f(g(z0)))) → c4(F(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(f(z0)))) → c4(F(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(c))) → c5(G(g(ok(c))), PROPER(g(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(f(z0)))) → c4(F(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(f(f(g(z0)))) → c4(F(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(f(z0)))) → c4(F(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(c))) → c5(G(g(ok(c))), PROPER(g(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c8, c8, c9, c9, c4, c1, c3, c5, c10

(59) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID) transformation)

Split RHS of tuples not part of any SCC

(60) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(f(z0))) → c8(TOP(f(proper(z0))), PROPER(f(z0)))
TOP(mark(g(z0))) → c8(TOP(g(proper(z0))), PROPER(g(z0)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(z0)))) → c4(F(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(f(f(g(z0)))) → c4(F(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(f(z0)))) → c4(F(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(f(z0)))) → c4(F(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(f(f(g(z0)))) → c4(F(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(f(z0)))) → c4(F(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c8, c8, c9, c9, c4, c1, c3, c5, c10, c11

(61) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1)) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

PROPER(g(g(c))) → c11(G(g(ok(c))))
We considered the (Usable) Rules:

g(ok(z0)) → ok(g(z0))
f(ok(z0)) → ok(f(z0))
And the Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(f(z0))) → c8(TOP(f(proper(z0))), PROPER(f(z0)))
TOP(mark(g(z0))) → c8(TOP(g(proper(z0))), PROPER(g(z0)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(z0)))) → c4(F(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(f(f(g(z0)))) → c4(F(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(f(z0)))) → c4(F(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(ACTIVE(x1)) = 0   
POL(F(x1)) = 0   
POL(G(x1)) = 0   
POL(PROPER(x1)) = [2]   
POL(TOP(x1)) = [2]x1   
POL(c) = [3]   
POL(c1(x1)) = x1   
POL(c10(x1)) = x1   
POL(c11(x1)) = x1   
POL(c2(x1)) = x1   
POL(c3(x1)) = x1   
POL(c4(x1)) = x1   
POL(c4(x1, x2)) = x1 + x2   
POL(c5(x1)) = x1   
POL(c5(x1, x2)) = x1 + x2   
POL(c6(x1)) = x1   
POL(c7(x1)) = x1   
POL(c8(x1)) = x1   
POL(c8(x1, x2)) = x1 + x2   
POL(c9(x1)) = x1   
POL(c9(x1, x2)) = x1 + x2   
POL(f(x1)) = [2]   
POL(g(x1)) = 0   
POL(mark(x1)) = [1] + x1   
POL(ok(x1)) = x1   
POL(proper(x1)) = [2]x1   

(62) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(f(z0))) → c8(TOP(f(proper(z0))), PROPER(f(z0)))
TOP(mark(g(z0))) → c8(TOP(g(proper(z0))), PROPER(g(z0)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(z0)))) → c4(F(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(f(f(g(z0)))) → c4(F(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(f(z0)))) → c4(F(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(f(z0)))) → c4(F(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(f(f(g(z0)))) → c4(F(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(f(z0)))) → c4(F(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c8, c8, c9, c9, c4, c1, c3, c5, c10, c11

(63) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace TOP(mark(f(z0))) → c8(TOP(f(proper(z0))), PROPER(f(z0))) by

TOP(mark(f(c))) → c8(TOP(f(ok(c))), PROPER(f(c)))
TOP(mark(f(f(z0)))) → c8(TOP(f(f(proper(z0)))), PROPER(f(f(z0))))
TOP(mark(f(g(z0)))) → c8(TOP(f(g(proper(z0)))), PROPER(f(g(z0))))

(64) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(g(z0))) → c8(TOP(g(proper(z0))), PROPER(g(z0)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(z0)))) → c4(F(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(f(f(g(z0)))) → c4(F(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(f(z0)))) → c4(F(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(f(c))) → c8(TOP(f(ok(c))), PROPER(f(c)))
TOP(mark(f(f(z0)))) → c8(TOP(f(f(proper(z0)))), PROPER(f(f(z0))))
TOP(mark(f(g(z0)))) → c8(TOP(f(g(proper(z0)))), PROPER(f(g(z0))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(f(z0)))) → c4(F(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(f(f(g(z0)))) → c4(F(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(f(z0)))) → c4(F(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c8, c8, c9, c9, c4, c1, c3, c5, c10, c11

(65) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace TOP(mark(g(z0))) → c8(TOP(g(proper(z0))), PROPER(g(z0))) by

TOP(mark(g(c))) → c8(TOP(g(ok(c))), PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))

(66) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(z0)))) → c4(F(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(f(f(g(z0)))) → c4(F(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(f(z0)))) → c4(F(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(f(c))) → c8(TOP(f(ok(c))), PROPER(f(c)))
TOP(mark(f(f(z0)))) → c8(TOP(f(f(proper(z0)))), PROPER(f(f(z0))))
TOP(mark(f(g(z0)))) → c8(TOP(f(g(proper(z0)))), PROPER(f(g(z0))))
TOP(mark(g(c))) → c8(TOP(g(ok(c))), PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(f(z0)))) → c4(F(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(f(f(g(z0)))) → c4(F(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(f(z0)))) → c4(F(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c8, c9, c9, c4, c1, c3, c5, c10, c11, c8

(67) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace PROPER(f(f(f(z0)))) → c4(F(f(f(proper(z0)))), PROPER(f(f(z0)))) by

PROPER(f(f(f(c)))) → c4(F(f(f(ok(c)))), PROPER(f(f(c))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))

(68) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(g(z0)))) → c4(F(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(f(z0)))) → c4(F(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(f(c))) → c8(TOP(f(ok(c))), PROPER(f(c)))
TOP(mark(f(f(z0)))) → c8(TOP(f(f(proper(z0)))), PROPER(f(f(z0))))
TOP(mark(f(g(z0)))) → c8(TOP(f(g(proper(z0)))), PROPER(f(g(z0))))
TOP(mark(g(c))) → c8(TOP(g(ok(c))), PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(f(f(c)))) → c4(F(f(f(ok(c)))), PROPER(f(f(c))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(g(z0)))) → c4(F(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(f(z0)))) → c4(F(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(c)))) → c4(F(f(f(ok(c)))), PROPER(f(f(c))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c8, c9, c9, c4, c1, c3, c5, c10, c11, c8

(69) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID) transformation)

Split RHS of tuples not part of any SCC

(70) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(g(z0)))) → c4(F(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(f(z0)))) → c4(F(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(f(c))) → c8(TOP(f(ok(c))), PROPER(f(c)))
TOP(mark(f(f(z0)))) → c8(TOP(f(f(proper(z0)))), PROPER(f(f(z0))))
TOP(mark(f(g(z0)))) → c8(TOP(f(g(proper(z0)))), PROPER(f(g(z0))))
TOP(mark(g(c))) → c8(TOP(g(ok(c))), PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(g(z0)))) → c4(F(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(f(z0)))) → c4(F(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c8, c9, c9, c4, c1, c3, c5, c10, c11, c8, c12

(71) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1)) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
We considered the (Usable) Rules:

g(ok(z0)) → ok(g(z0))
f(ok(z0)) → ok(f(z0))
And the Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(g(z0)))) → c4(F(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(f(z0)))) → c4(F(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(f(c))) → c8(TOP(f(ok(c))), PROPER(f(c)))
TOP(mark(f(f(z0)))) → c8(TOP(f(f(proper(z0)))), PROPER(f(f(z0))))
TOP(mark(f(g(z0)))) → c8(TOP(f(g(proper(z0)))), PROPER(f(g(z0))))
TOP(mark(g(c))) → c8(TOP(g(ok(c))), PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(ACTIVE(x1)) = 0   
POL(F(x1)) = 0   
POL(G(x1)) = 0   
POL(PROPER(x1)) = [1]   
POL(TOP(x1)) = x1   
POL(c) = [2]   
POL(c1(x1)) = x1   
POL(c10(x1)) = x1   
POL(c11(x1)) = x1   
POL(c12(x1)) = x1   
POL(c2(x1)) = x1   
POL(c3(x1)) = x1   
POL(c4(x1)) = x1   
POL(c4(x1, x2)) = x1 + x2   
POL(c5(x1)) = x1   
POL(c5(x1, x2)) = x1 + x2   
POL(c6(x1)) = x1   
POL(c7(x1)) = x1   
POL(c8(x1)) = x1   
POL(c8(x1, x2)) = x1 + x2   
POL(c9(x1)) = x1   
POL(c9(x1, x2)) = x1 + x2   
POL(f(x1)) = [1]   
POL(g(x1)) = 0   
POL(mark(x1)) = [1] + x1   
POL(ok(x1)) = x1   
POL(proper(x1)) = 0   

(72) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(g(z0)))) → c4(F(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(f(z0)))) → c4(F(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(f(c))) → c8(TOP(f(ok(c))), PROPER(f(c)))
TOP(mark(f(f(z0)))) → c8(TOP(f(f(proper(z0)))), PROPER(f(f(z0))))
TOP(mark(f(g(z0)))) → c8(TOP(f(g(proper(z0)))), PROPER(f(g(z0))))
TOP(mark(g(c))) → c8(TOP(g(ok(c))), PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(g(z0)))) → c4(F(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(f(z0)))) → c4(F(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c8, c9, c9, c4, c1, c3, c5, c10, c11, c8, c12

(73) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace PROPER(f(f(g(z0)))) → c4(F(f(g(proper(z0)))), PROPER(f(g(z0)))) by

PROPER(f(f(g(c)))) → c4(F(f(g(ok(c)))), PROPER(f(g(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))

(74) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(f(z0)))) → c4(F(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(f(c))) → c8(TOP(f(ok(c))), PROPER(f(c)))
TOP(mark(f(f(z0)))) → c8(TOP(f(f(proper(z0)))), PROPER(f(f(z0))))
TOP(mark(f(g(z0)))) → c8(TOP(f(g(proper(z0)))), PROPER(f(g(z0))))
TOP(mark(g(c))) → c8(TOP(g(ok(c))), PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(c)))) → c4(F(f(g(ok(c)))), PROPER(f(g(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(f(z0)))) → c4(F(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(c)))) → c4(F(f(g(ok(c)))), PROPER(f(g(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c8, c9, c9, c1, c4, c3, c5, c10, c11, c8, c12

(75) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID) transformation)

Split RHS of tuples not part of any SCC

(76) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(f(z0)))) → c4(F(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(f(c))) → c8(TOP(f(ok(c))), PROPER(f(c)))
TOP(mark(f(f(z0)))) → c8(TOP(f(f(proper(z0)))), PROPER(f(f(z0))))
TOP(mark(f(g(z0)))) → c8(TOP(f(g(proper(z0)))), PROPER(f(g(z0))))
TOP(mark(g(c))) → c8(TOP(g(ok(c))), PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(f(z0)))) → c4(F(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c8, c9, c9, c1, c4, c3, c5, c10, c11, c8, c12, c13

(77) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1)) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
We considered the (Usable) Rules:

g(ok(z0)) → ok(g(z0))
f(ok(z0)) → ok(f(z0))
And the Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(f(z0)))) → c4(F(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(f(c))) → c8(TOP(f(ok(c))), PROPER(f(c)))
TOP(mark(f(f(z0)))) → c8(TOP(f(f(proper(z0)))), PROPER(f(f(z0))))
TOP(mark(f(g(z0)))) → c8(TOP(f(g(proper(z0)))), PROPER(f(g(z0))))
TOP(mark(g(c))) → c8(TOP(g(ok(c))), PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(ACTIVE(x1)) = 0   
POL(F(x1)) = 0   
POL(G(x1)) = 0   
POL(PROPER(x1)) = [2]   
POL(TOP(x1)) = [2]x1   
POL(c) = [3]   
POL(c1(x1)) = x1   
POL(c10(x1)) = x1   
POL(c11(x1)) = x1   
POL(c12(x1)) = x1   
POL(c13(x1)) = x1   
POL(c2(x1)) = x1   
POL(c3(x1)) = x1   
POL(c4(x1)) = x1   
POL(c4(x1, x2)) = x1 + x2   
POL(c5(x1)) = x1   
POL(c5(x1, x2)) = x1 + x2   
POL(c6(x1)) = x1   
POL(c7(x1)) = x1   
POL(c8(x1)) = x1   
POL(c8(x1, x2)) = x1 + x2   
POL(c9(x1)) = x1   
POL(c9(x1, x2)) = x1 + x2   
POL(f(x1)) = [2]   
POL(g(x1)) = 0   
POL(mark(x1)) = [1] + x1   
POL(ok(x1)) = x1   
POL(proper(x1)) = 0   

(78) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(f(z0)))) → c4(F(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(f(c))) → c8(TOP(f(ok(c))), PROPER(f(c)))
TOP(mark(f(f(z0)))) → c8(TOP(f(f(proper(z0)))), PROPER(f(f(z0))))
TOP(mark(f(g(z0)))) → c8(TOP(f(g(proper(z0)))), PROPER(f(g(z0))))
TOP(mark(g(c))) → c8(TOP(g(ok(c))), PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(f(z0)))) → c4(F(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c8, c9, c9, c1, c4, c3, c5, c10, c11, c8, c12, c13

(79) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace PROPER(f(f(c))) → c1(F(f(ok(c)))) by

PROPER(f(f(c))) → c1(F(ok(f(c))))

(80) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(f(z0)))) → c4(F(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(f(c))) → c8(TOP(f(ok(c))), PROPER(f(c)))
TOP(mark(f(f(z0)))) → c8(TOP(f(f(proper(z0)))), PROPER(f(f(z0))))
TOP(mark(f(g(z0)))) → c8(TOP(f(g(proper(z0)))), PROPER(f(g(z0))))
TOP(mark(g(c))) → c8(TOP(g(ok(c))), PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(f(c))) → c1(F(ok(f(c))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(f(z0)))) → c4(F(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c8, c9, c9, c1, c4, c3, c5, c10, c11, c8, c12, c13

(81) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace PROPER(f(g(f(z0)))) → c4(F(g(f(proper(z0)))), PROPER(g(f(z0)))) by

PROPER(f(g(f(c)))) → c4(F(g(f(ok(c)))), PROPER(g(f(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))

(82) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(f(c))) → c8(TOP(f(ok(c))), PROPER(f(c)))
TOP(mark(f(f(z0)))) → c8(TOP(f(f(proper(z0)))), PROPER(f(f(z0))))
TOP(mark(f(g(z0)))) → c8(TOP(f(g(proper(z0)))), PROPER(f(g(z0))))
TOP(mark(g(c))) → c8(TOP(g(ok(c))), PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(f(c))) → c1(F(ok(f(c))))
PROPER(f(g(f(c)))) → c4(F(g(f(ok(c)))), PROPER(g(f(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(c)))) → c4(F(g(f(ok(c)))), PROPER(g(f(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c8, c9, c9, c1, c4, c3, c5, c10, c11, c8, c12, c13

(83) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID) transformation)

Split RHS of tuples not part of any SCC

(84) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(f(c))) → c8(TOP(f(ok(c))), PROPER(f(c)))
TOP(mark(f(f(z0)))) → c8(TOP(f(f(proper(z0)))), PROPER(f(f(z0))))
TOP(mark(f(g(z0)))) → c8(TOP(f(g(proper(z0)))), PROPER(f(g(z0))))
TOP(mark(g(c))) → c8(TOP(g(ok(c))), PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(f(c))) → c1(F(ok(f(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c8, c9, c9, c1, c4, c3, c5, c10, c11, c8, c12, c13, c14

(85) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1)) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
We considered the (Usable) Rules:

g(ok(z0)) → ok(g(z0))
f(ok(z0)) → ok(f(z0))
And the Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(f(c))) → c8(TOP(f(ok(c))), PROPER(f(c)))
TOP(mark(f(f(z0)))) → c8(TOP(f(f(proper(z0)))), PROPER(f(f(z0))))
TOP(mark(f(g(z0)))) → c8(TOP(f(g(proper(z0)))), PROPER(f(g(z0))))
TOP(mark(g(c))) → c8(TOP(g(ok(c))), PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(f(c))) → c1(F(ok(f(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(ACTIVE(x1)) = [1]   
POL(F(x1)) = 0   
POL(G(x1)) = 0   
POL(PROPER(x1)) = [1]   
POL(TOP(x1)) = x1   
POL(c) = [3]   
POL(c1(x1)) = x1   
POL(c10(x1)) = x1   
POL(c11(x1)) = x1   
POL(c12(x1)) = x1   
POL(c13(x1)) = x1   
POL(c14(x1)) = x1   
POL(c2(x1)) = x1   
POL(c3(x1)) = x1   
POL(c4(x1)) = x1   
POL(c4(x1, x2)) = x1 + x2   
POL(c5(x1)) = x1   
POL(c5(x1, x2)) = x1 + x2   
POL(c6(x1)) = x1   
POL(c7(x1)) = x1   
POL(c8(x1)) = x1   
POL(c8(x1, x2)) = x1 + x2   
POL(c9(x1)) = x1   
POL(c9(x1, x2)) = x1 + x2   
POL(f(x1)) = [2]   
POL(g(x1)) = 0   
POL(mark(x1)) = [1] + x1   
POL(ok(x1)) = x1   
POL(proper(x1)) = 0   

(86) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(f(c))) → c8(TOP(f(ok(c))), PROPER(f(c)))
TOP(mark(f(f(z0)))) → c8(TOP(f(f(proper(z0)))), PROPER(f(f(z0))))
TOP(mark(f(g(z0)))) → c8(TOP(f(g(proper(z0)))), PROPER(f(g(z0))))
TOP(mark(g(c))) → c8(TOP(g(ok(c))), PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(f(c))) → c1(F(ok(f(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c8, c9, c9, c1, c4, c3, c5, c10, c11, c8, c12, c13, c14

(87) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace PROPER(f(g(g(z0)))) → c4(F(g(g(proper(z0)))), PROPER(g(g(z0)))) by

PROPER(f(g(g(c)))) → c4(F(g(g(ok(c)))), PROPER(g(g(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))

(88) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(f(c))) → c8(TOP(f(ok(c))), PROPER(f(c)))
TOP(mark(f(f(z0)))) → c8(TOP(f(f(proper(z0)))), PROPER(f(f(z0))))
TOP(mark(f(g(z0)))) → c8(TOP(f(g(proper(z0)))), PROPER(f(g(z0))))
TOP(mark(g(c))) → c8(TOP(g(ok(c))), PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(f(c))) → c1(F(ok(f(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(c)))) → c4(F(g(g(ok(c)))), PROPER(g(g(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(c)))) → c4(F(g(g(ok(c)))), PROPER(g(g(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c8, c9, c9, c1, c3, c5, c10, c11, c8, c4, c12, c13, c14

(89) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID) transformation)

Split RHS of tuples not part of any SCC

(90) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(f(c))) → c8(TOP(f(ok(c))), PROPER(f(c)))
TOP(mark(f(f(z0)))) → c8(TOP(f(f(proper(z0)))), PROPER(f(f(z0))))
TOP(mark(f(g(z0)))) → c8(TOP(f(g(proper(z0)))), PROPER(f(g(z0))))
TOP(mark(g(c))) → c8(TOP(g(ok(c))), PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(f(c))) → c1(F(ok(f(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c8, c9, c9, c1, c3, c5, c10, c11, c8, c4, c12, c13, c14, c15

(91) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1)) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
We considered the (Usable) Rules:

g(ok(z0)) → ok(g(z0))
f(ok(z0)) → ok(f(z0))
And the Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(f(c))) → c8(TOP(f(ok(c))), PROPER(f(c)))
TOP(mark(f(f(z0)))) → c8(TOP(f(f(proper(z0)))), PROPER(f(f(z0))))
TOP(mark(f(g(z0)))) → c8(TOP(f(g(proper(z0)))), PROPER(f(g(z0))))
TOP(mark(g(c))) → c8(TOP(g(ok(c))), PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(f(c))) → c1(F(ok(f(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(ACTIVE(x1)) = 0   
POL(F(x1)) = 0   
POL(G(x1)) = 0   
POL(PROPER(x1)) = [1]   
POL(TOP(x1)) = x1   
POL(c) = [2]   
POL(c1(x1)) = x1   
POL(c10(x1)) = x1   
POL(c11(x1)) = x1   
POL(c12(x1)) = x1   
POL(c13(x1)) = x1   
POL(c14(x1)) = x1   
POL(c15(x1)) = x1   
POL(c2(x1)) = x1   
POL(c3(x1)) = x1   
POL(c4(x1)) = x1   
POL(c4(x1, x2)) = x1 + x2   
POL(c5(x1)) = x1   
POL(c5(x1, x2)) = x1 + x2   
POL(c6(x1)) = x1   
POL(c7(x1)) = x1   
POL(c8(x1)) = x1   
POL(c8(x1, x2)) = x1 + x2   
POL(c9(x1)) = x1   
POL(c9(x1, x2)) = x1 + x2   
POL(f(x1)) = [1]   
POL(g(x1)) = 0   
POL(mark(x1)) = [1] + x1   
POL(ok(x1)) = x1   
POL(proper(x1)) = 0   

(92) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(f(c))) → c8(TOP(f(ok(c))), PROPER(f(c)))
TOP(mark(f(f(z0)))) → c8(TOP(f(f(proper(z0)))), PROPER(f(f(z0))))
TOP(mark(f(g(z0)))) → c8(TOP(f(g(proper(z0)))), PROPER(f(g(z0))))
TOP(mark(g(c))) → c8(TOP(g(ok(c))), PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(f(c))) → c1(F(ok(f(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c8, c9, c9, c1, c3, c5, c10, c11, c8, c4, c12, c13, c14, c15

(93) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace PROPER(f(g(c))) → c3(F(g(ok(c)))) by

PROPER(f(g(c))) → c3(F(ok(g(c))))

(94) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(f(c))) → c8(TOP(f(ok(c))), PROPER(f(c)))
TOP(mark(f(f(z0)))) → c8(TOP(f(f(proper(z0)))), PROPER(f(f(z0))))
TOP(mark(f(g(z0)))) → c8(TOP(f(g(proper(z0)))), PROPER(f(g(z0))))
TOP(mark(g(c))) → c8(TOP(g(ok(c))), PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(f(c))) → c1(F(ok(f(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(f(g(c))) → c3(F(ok(g(c))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0))))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c8, c9, c9, c1, c3, c5, c10, c11, c8, c4, c12, c13, c14, c15

(95) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace PROPER(g(f(f(z0)))) → c5(G(f(f(proper(z0)))), PROPER(f(f(z0)))) by

PROPER(g(f(f(c)))) → c5(G(f(f(ok(c)))), PROPER(f(f(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))

(96) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(f(c))) → c8(TOP(f(ok(c))), PROPER(f(c)))
TOP(mark(f(f(z0)))) → c8(TOP(f(f(proper(z0)))), PROPER(f(f(z0))))
TOP(mark(f(g(z0)))) → c8(TOP(f(g(proper(z0)))), PROPER(f(g(z0))))
TOP(mark(g(c))) → c8(TOP(g(ok(c))), PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(f(c))) → c1(F(ok(f(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(f(g(c))) → c3(F(ok(g(c))))
PROPER(g(f(f(c)))) → c5(G(f(f(ok(c)))), PROPER(f(f(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(c)))) → c5(G(f(f(ok(c)))), PROPER(f(f(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c8, c9, c9, c1, c3, c5, c10, c11, c8, c4, c12, c13, c14, c15

(97) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID) transformation)

Split RHS of tuples not part of any SCC

(98) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(f(c))) → c8(TOP(f(ok(c))), PROPER(f(c)))
TOP(mark(f(f(z0)))) → c8(TOP(f(f(proper(z0)))), PROPER(f(f(z0))))
TOP(mark(f(g(z0)))) → c8(TOP(f(g(proper(z0)))), PROPER(f(g(z0))))
TOP(mark(g(c))) → c8(TOP(g(ok(c))), PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(f(c))) → c1(F(ok(f(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(f(g(c))) → c3(F(ok(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c8, c9, c9, c1, c3, c5, c10, c11, c8, c4, c12, c13, c14, c15, c16

(99) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1)) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
We considered the (Usable) Rules:

g(ok(z0)) → ok(g(z0))
proper(c) → ok(c)
proper(g(z0)) → g(proper(z0))
f(ok(z0)) → ok(f(z0))
proper(f(z0)) → f(proper(z0))
And the Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(f(c))) → c8(TOP(f(ok(c))), PROPER(f(c)))
TOP(mark(f(f(z0)))) → c8(TOP(f(f(proper(z0)))), PROPER(f(f(z0))))
TOP(mark(f(g(z0)))) → c8(TOP(f(g(proper(z0)))), PROPER(f(g(z0))))
TOP(mark(g(c))) → c8(TOP(g(ok(c))), PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(f(c))) → c1(F(ok(f(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(f(g(c))) → c3(F(ok(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(ACTIVE(x1)) = 0   
POL(F(x1)) = 0   
POL(G(x1)) = 0   
POL(PROPER(x1)) = [1]   
POL(TOP(x1)) = x1   
POL(c) = [3]   
POL(c1(x1)) = x1   
POL(c10(x1)) = x1   
POL(c11(x1)) = x1   
POL(c12(x1)) = x1   
POL(c13(x1)) = x1   
POL(c14(x1)) = x1   
POL(c15(x1)) = x1   
POL(c16(x1)) = x1   
POL(c2(x1)) = x1   
POL(c3(x1)) = x1   
POL(c4(x1)) = x1   
POL(c4(x1, x2)) = x1 + x2   
POL(c5(x1)) = x1   
POL(c5(x1, x2)) = x1 + x2   
POL(c6(x1)) = x1   
POL(c7(x1)) = x1   
POL(c8(x1)) = x1   
POL(c8(x1, x2)) = x1 + x2   
POL(c9(x1)) = x1   
POL(c9(x1, x2)) = x1 + x2   
POL(f(x1)) = [2]x1   
POL(g(x1)) = [1]   
POL(mark(x1)) = [1] + x1   
POL(ok(x1)) = x1   
POL(proper(x1)) = x1   

(100) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(f(c))) → c8(TOP(f(ok(c))), PROPER(f(c)))
TOP(mark(f(f(z0)))) → c8(TOP(f(f(proper(z0)))), PROPER(f(f(z0))))
TOP(mark(f(g(z0)))) → c8(TOP(f(g(proper(z0)))), PROPER(f(g(z0))))
TOP(mark(g(c))) → c8(TOP(g(ok(c))), PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(f(c))) → c1(F(ok(f(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(f(g(c))) → c3(F(ok(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c8, c9, c9, c1, c3, c5, c10, c11, c8, c4, c12, c13, c14, c15, c16

(101) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace PROPER(g(f(g(z0)))) → c5(G(f(g(proper(z0)))), PROPER(f(g(z0)))) by

PROPER(g(f(g(c)))) → c5(G(f(g(ok(c)))), PROPER(f(g(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))

(102) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(f(c))) → c8(TOP(f(ok(c))), PROPER(f(c)))
TOP(mark(f(f(z0)))) → c8(TOP(f(f(proper(z0)))), PROPER(f(f(z0))))
TOP(mark(f(g(z0)))) → c8(TOP(f(g(proper(z0)))), PROPER(f(g(z0))))
TOP(mark(g(c))) → c8(TOP(g(ok(c))), PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(f(c))) → c1(F(ok(f(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(f(g(c))) → c3(F(ok(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(c)))) → c5(G(f(g(ok(c)))), PROPER(f(g(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(c)))) → c5(G(f(g(ok(c)))), PROPER(f(g(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c8, c9, c9, c1, c3, c10, c5, c11, c8, c4, c12, c13, c14, c15, c16

(103) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID) transformation)

Split RHS of tuples not part of any SCC

(104) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(f(c))) → c8(TOP(f(ok(c))), PROPER(f(c)))
TOP(mark(f(f(z0)))) → c8(TOP(f(f(proper(z0)))), PROPER(f(f(z0))))
TOP(mark(f(g(z0)))) → c8(TOP(f(g(proper(z0)))), PROPER(f(g(z0))))
TOP(mark(g(c))) → c8(TOP(g(ok(c))), PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(f(c))) → c1(F(ok(f(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(f(g(c))) → c3(F(ok(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c8, c9, c9, c1, c3, c10, c5, c11, c8, c4, c12, c13, c14, c15, c16, c17

(105) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1)) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
We considered the (Usable) Rules:

g(ok(z0)) → ok(g(z0))
f(ok(z0)) → ok(f(z0))
And the Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(f(c))) → c8(TOP(f(ok(c))), PROPER(f(c)))
TOP(mark(f(f(z0)))) → c8(TOP(f(f(proper(z0)))), PROPER(f(f(z0))))
TOP(mark(f(g(z0)))) → c8(TOP(f(g(proper(z0)))), PROPER(f(g(z0))))
TOP(mark(g(c))) → c8(TOP(g(ok(c))), PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(f(c))) → c1(F(ok(f(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(f(g(c))) → c3(F(ok(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(ACTIVE(x1)) = 0   
POL(F(x1)) = 0   
POL(G(x1)) = 0   
POL(PROPER(x1)) = [1]   
POL(TOP(x1)) = [2]x1   
POL(c) = [2]   
POL(c1(x1)) = x1   
POL(c10(x1)) = x1   
POL(c11(x1)) = x1   
POL(c12(x1)) = x1   
POL(c13(x1)) = x1   
POL(c14(x1)) = x1   
POL(c15(x1)) = x1   
POL(c16(x1)) = x1   
POL(c17(x1)) = x1   
POL(c2(x1)) = x1   
POL(c3(x1)) = x1   
POL(c4(x1)) = x1   
POL(c4(x1, x2)) = x1 + x2   
POL(c5(x1)) = x1   
POL(c5(x1, x2)) = x1 + x2   
POL(c6(x1)) = x1   
POL(c7(x1)) = x1   
POL(c8(x1)) = x1   
POL(c8(x1, x2)) = x1 + x2   
POL(c9(x1)) = x1   
POL(c9(x1, x2)) = x1 + x2   
POL(f(x1)) = [1]   
POL(g(x1)) = 0   
POL(mark(x1)) = [1] + x1   
POL(ok(x1)) = x1   
POL(proper(x1)) = 0   

(106) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(f(c))) → c8(TOP(f(ok(c))), PROPER(f(c)))
TOP(mark(f(f(z0)))) → c8(TOP(f(f(proper(z0)))), PROPER(f(f(z0))))
TOP(mark(f(g(z0)))) → c8(TOP(f(g(proper(z0)))), PROPER(f(g(z0))))
TOP(mark(g(c))) → c8(TOP(g(ok(c))), PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(f(c))) → c1(F(ok(f(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(f(g(c))) → c3(F(ok(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c8, c9, c9, c1, c3, c10, c5, c11, c8, c4, c12, c13, c14, c15, c16, c17

(107) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace PROPER(g(f(c))) → c10(G(f(ok(c)))) by

PROPER(g(f(c))) → c10(G(ok(f(c))))

(108) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(f(c))) → c8(TOP(f(ok(c))), PROPER(f(c)))
TOP(mark(f(f(z0)))) → c8(TOP(f(f(proper(z0)))), PROPER(f(f(z0))))
TOP(mark(f(g(z0)))) → c8(TOP(f(g(proper(z0)))), PROPER(f(g(z0))))
TOP(mark(g(c))) → c8(TOP(g(ok(c))), PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(f(c))) → c1(F(ok(f(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(f(g(c))) → c3(F(ok(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(f(c))) → c10(G(ok(f(c))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0))))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c8, c9, c9, c1, c3, c10, c5, c11, c8, c4, c12, c13, c14, c15, c16, c17

(109) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace PROPER(g(g(f(z0)))) → c5(G(g(f(proper(z0)))), PROPER(g(f(z0)))) by

PROPER(g(g(f(c)))) → c5(G(g(f(ok(c)))), PROPER(g(f(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))

(110) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(f(c))) → c8(TOP(f(ok(c))), PROPER(f(c)))
TOP(mark(f(f(z0)))) → c8(TOP(f(f(proper(z0)))), PROPER(f(f(z0))))
TOP(mark(f(g(z0)))) → c8(TOP(f(g(proper(z0)))), PROPER(f(g(z0))))
TOP(mark(g(c))) → c8(TOP(g(ok(c))), PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(f(c))) → c1(F(ok(f(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(f(g(c))) → c3(F(ok(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(f(c))) → c10(G(ok(f(c))))
PROPER(g(g(f(c)))) → c5(G(g(f(ok(c)))), PROPER(g(f(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(g(f(c)))) → c5(G(g(f(ok(c)))), PROPER(g(f(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c8, c9, c9, c1, c3, c10, c5, c11, c8, c4, c12, c13, c14, c15, c16, c17

(111) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID) transformation)

Split RHS of tuples not part of any SCC

(112) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(f(c))) → c8(TOP(f(ok(c))), PROPER(f(c)))
TOP(mark(f(f(z0)))) → c8(TOP(f(f(proper(z0)))), PROPER(f(f(z0))))
TOP(mark(f(g(z0)))) → c8(TOP(f(g(proper(z0)))), PROPER(f(g(z0))))
TOP(mark(g(c))) → c8(TOP(g(ok(c))), PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(f(c))) → c1(F(ok(f(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(f(g(c))) → c3(F(ok(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(f(c))) → c10(G(ok(f(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c8, c9, c9, c1, c3, c10, c5, c11, c8, c4, c12, c13, c14, c15, c16, c17, c18

(113) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1)) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
We considered the (Usable) Rules:

g(ok(z0)) → ok(g(z0))
f(ok(z0)) → ok(f(z0))
And the Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(f(c))) → c8(TOP(f(ok(c))), PROPER(f(c)))
TOP(mark(f(f(z0)))) → c8(TOP(f(f(proper(z0)))), PROPER(f(f(z0))))
TOP(mark(f(g(z0)))) → c8(TOP(f(g(proper(z0)))), PROPER(f(g(z0))))
TOP(mark(g(c))) → c8(TOP(g(ok(c))), PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(f(c))) → c1(F(ok(f(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(f(g(c))) → c3(F(ok(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(f(c))) → c10(G(ok(f(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(ACTIVE(x1)) = 0   
POL(F(x1)) = 0   
POL(G(x1)) = 0   
POL(PROPER(x1)) = [1]   
POL(TOP(x1)) = [2]x1   
POL(c) = [3]   
POL(c1(x1)) = x1   
POL(c10(x1)) = x1   
POL(c11(x1)) = x1   
POL(c12(x1)) = x1   
POL(c13(x1)) = x1   
POL(c14(x1)) = x1   
POL(c15(x1)) = x1   
POL(c16(x1)) = x1   
POL(c17(x1)) = x1   
POL(c18(x1)) = x1   
POL(c2(x1)) = x1   
POL(c3(x1)) = x1   
POL(c4(x1)) = x1   
POL(c4(x1, x2)) = x1 + x2   
POL(c5(x1)) = x1   
POL(c5(x1, x2)) = x1 + x2   
POL(c6(x1)) = x1   
POL(c7(x1)) = x1   
POL(c8(x1)) = x1   
POL(c8(x1, x2)) = x1 + x2   
POL(c9(x1)) = x1   
POL(c9(x1, x2)) = x1 + x2   
POL(f(x1)) = [2]   
POL(g(x1)) = 0   
POL(mark(x1)) = [1] + x1   
POL(ok(x1)) = x1   
POL(proper(x1)) = 0   

(114) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(f(c))) → c8(TOP(f(ok(c))), PROPER(f(c)))
TOP(mark(f(f(z0)))) → c8(TOP(f(f(proper(z0)))), PROPER(f(f(z0))))
TOP(mark(f(g(z0)))) → c8(TOP(f(g(proper(z0)))), PROPER(f(g(z0))))
TOP(mark(g(c))) → c8(TOP(g(ok(c))), PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(f(c))) → c1(F(ok(f(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(f(g(c))) → c3(F(ok(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(f(c))) → c10(G(ok(f(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c8, c9, c9, c1, c3, c10, c5, c11, c8, c4, c12, c13, c14, c15, c16, c17, c18

(115) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace PROPER(g(g(g(z0)))) → c5(G(g(g(proper(z0)))), PROPER(g(g(z0)))) by

PROPER(g(g(g(c)))) → c5(G(g(g(ok(c)))), PROPER(g(g(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))

(116) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(f(c))) → c8(TOP(f(ok(c))), PROPER(f(c)))
TOP(mark(f(f(z0)))) → c8(TOP(f(f(proper(z0)))), PROPER(f(f(z0))))
TOP(mark(f(g(z0)))) → c8(TOP(f(g(proper(z0)))), PROPER(f(g(z0))))
TOP(mark(g(c))) → c8(TOP(g(ok(c))), PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(f(c))) → c1(F(ok(f(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(f(g(c))) → c3(F(ok(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(f(c))) → c10(G(ok(f(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(c)))) → c5(G(g(g(ok(c)))), PROPER(g(g(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(c)))) → c5(G(g(g(ok(c)))), PROPER(g(g(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c8, c9, c9, c1, c3, c10, c11, c8, c4, c12, c13, c14, c15, c5, c16, c17, c18

(117) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID) transformation)

Split RHS of tuples not part of any SCC

(118) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(f(c))) → c8(TOP(f(ok(c))), PROPER(f(c)))
TOP(mark(f(f(z0)))) → c8(TOP(f(f(proper(z0)))), PROPER(f(f(z0))))
TOP(mark(f(g(z0)))) → c8(TOP(f(g(proper(z0)))), PROPER(f(g(z0))))
TOP(mark(g(c))) → c8(TOP(g(ok(c))), PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(f(c))) → c1(F(ok(f(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(f(g(c))) → c3(F(ok(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(f(c))) → c10(G(ok(f(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c8, c9, c9, c1, c3, c10, c11, c8, c4, c12, c13, c14, c15, c5, c16, c17, c18, c19

(119) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1)) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
We considered the (Usable) Rules:

g(ok(z0)) → ok(g(z0))
f(ok(z0)) → ok(f(z0))
And the Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(f(c))) → c8(TOP(f(ok(c))), PROPER(f(c)))
TOP(mark(f(f(z0)))) → c8(TOP(f(f(proper(z0)))), PROPER(f(f(z0))))
TOP(mark(f(g(z0)))) → c8(TOP(f(g(proper(z0)))), PROPER(f(g(z0))))
TOP(mark(g(c))) → c8(TOP(g(ok(c))), PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(f(c))) → c1(F(ok(f(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(f(g(c))) → c3(F(ok(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(f(c))) → c10(G(ok(f(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(ACTIVE(x1)) = [1]   
POL(F(x1)) = 0   
POL(G(x1)) = 0   
POL(PROPER(x1)) = [2]   
POL(TOP(x1)) = [2]x1   
POL(c) = [3]   
POL(c1(x1)) = x1   
POL(c10(x1)) = x1   
POL(c11(x1)) = x1   
POL(c12(x1)) = x1   
POL(c13(x1)) = x1   
POL(c14(x1)) = x1   
POL(c15(x1)) = x1   
POL(c16(x1)) = x1   
POL(c17(x1)) = x1   
POL(c18(x1)) = x1   
POL(c19(x1)) = x1   
POL(c2(x1)) = x1   
POL(c3(x1)) = x1   
POL(c4(x1)) = x1   
POL(c4(x1, x2)) = x1 + x2   
POL(c5(x1)) = x1   
POL(c5(x1, x2)) = x1 + x2   
POL(c6(x1)) = x1   
POL(c7(x1)) = x1   
POL(c8(x1)) = x1   
POL(c8(x1, x2)) = x1 + x2   
POL(c9(x1)) = x1   
POL(c9(x1, x2)) = x1 + x2   
POL(f(x1)) = [2]   
POL(g(x1)) = 0   
POL(mark(x1)) = [1] + x1   
POL(ok(x1)) = x1   
POL(proper(x1)) = [2]x1   

(120) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(f(c))) → c8(TOP(f(ok(c))), PROPER(f(c)))
TOP(mark(f(f(z0)))) → c8(TOP(f(f(proper(z0)))), PROPER(f(f(z0))))
TOP(mark(f(g(z0)))) → c8(TOP(f(g(proper(z0)))), PROPER(f(g(z0))))
TOP(mark(g(c))) → c8(TOP(g(ok(c))), PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(f(c))) → c1(F(ok(f(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(f(g(c))) → c3(F(ok(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(f(c))) → c10(G(ok(f(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c8, c9, c9, c1, c3, c10, c11, c8, c4, c12, c13, c14, c15, c5, c16, c17, c18, c19

(121) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace PROPER(g(g(c))) → c11(G(g(ok(c)))) by

PROPER(g(g(c))) → c11(G(ok(g(c))))

(122) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(f(c))) → c8(TOP(f(ok(c))), PROPER(f(c)))
TOP(mark(f(f(z0)))) → c8(TOP(f(f(proper(z0)))), PROPER(f(f(z0))))
TOP(mark(f(g(z0)))) → c8(TOP(f(g(proper(z0)))), PROPER(f(g(z0))))
TOP(mark(g(c))) → c8(TOP(g(ok(c))), PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(f(c))) → c1(F(ok(f(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(f(g(c))) → c3(F(ok(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(f(c))) → c10(G(ok(f(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
PROPER(g(g(c))) → c11(G(ok(g(c))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c8, c9, c9, c1, c3, c10, c11, c8, c4, c12, c13, c14, c15, c5, c16, c17, c18, c19

(123) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace TOP(mark(f(c))) → c8(TOP(f(ok(c))), PROPER(f(c))) by

TOP(mark(f(c))) → c8(TOP(ok(f(c))), PROPER(f(c)))
TOP(mark(f(c))) → c8(PROPER(f(c)))

(124) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(f(f(z0)))) → c8(TOP(f(f(proper(z0)))), PROPER(f(f(z0))))
TOP(mark(f(g(z0)))) → c8(TOP(f(g(proper(z0)))), PROPER(f(g(z0))))
TOP(mark(g(c))) → c8(TOP(g(ok(c))), PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(f(c))) → c1(F(ok(f(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(f(g(c))) → c3(F(ok(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(f(c))) → c10(G(ok(f(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
PROPER(g(g(c))) → c11(G(ok(g(c))))
TOP(mark(f(c))) → c8(TOP(ok(f(c))), PROPER(f(c)))
TOP(mark(f(c))) → c8(PROPER(f(c)))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c8, c9, c9, c1, c3, c10, c11, c8, c4, c12, c13, c14, c15, c5, c16, c17, c18, c19

(125) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID) transformation)

Removed 1 trailing tuple parts

(126) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(f(f(z0)))) → c8(TOP(f(f(proper(z0)))), PROPER(f(f(z0))))
TOP(mark(f(g(z0)))) → c8(TOP(f(g(proper(z0)))), PROPER(f(g(z0))))
TOP(mark(g(c))) → c8(TOP(g(ok(c))), PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(f(c))) → c1(F(ok(f(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(f(g(c))) → c3(F(ok(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(f(c))) → c10(G(ok(f(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
PROPER(g(g(c))) → c11(G(ok(g(c))))
TOP(mark(f(c))) → c8(PROPER(f(c)))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c8, c9, c9, c1, c3, c10, c11, c8, c4, c12, c13, c14, c15, c5, c16, c17, c18, c19

(127) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace TOP(mark(f(f(z0)))) → c8(TOP(f(f(proper(z0)))), PROPER(f(f(z0)))) by

TOP(mark(f(f(c)))) → c8(TOP(f(f(ok(c)))), PROPER(f(f(c))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))

(128) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(f(g(z0)))) → c8(TOP(f(g(proper(z0)))), PROPER(f(g(z0))))
TOP(mark(g(c))) → c8(TOP(g(ok(c))), PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(f(c))) → c1(F(ok(f(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(f(g(c))) → c3(F(ok(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(f(c))) → c10(G(ok(f(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
PROPER(g(g(c))) → c11(G(ok(g(c))))
TOP(mark(f(c))) → c8(PROPER(f(c)))
TOP(mark(f(f(c)))) → c8(TOP(f(f(ok(c)))), PROPER(f(f(c))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c8, c9, c9, c1, c3, c10, c11, c8, c4, c12, c13, c14, c15, c5, c16, c17, c18, c19

(129) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace TOP(mark(f(g(z0)))) → c8(TOP(f(g(proper(z0)))), PROPER(f(g(z0)))) by

TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))), PROPER(f(g(c))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))

(130) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(g(c))) → c8(TOP(g(ok(c))), PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(f(c))) → c1(F(ok(f(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(f(g(c))) → c3(F(ok(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(f(c))) → c10(G(ok(f(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
PROPER(g(g(c))) → c11(G(ok(g(c))))
TOP(mark(f(c))) → c8(PROPER(f(c)))
TOP(mark(f(f(c)))) → c8(TOP(f(f(ok(c)))), PROPER(f(f(c))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))), PROPER(f(g(c))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c8, c9, c9, c1, c3, c10, c11, c8, c4, c12, c13, c14, c15, c5, c16, c17, c18, c19

(131) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace TOP(mark(g(c))) → c8(TOP(g(ok(c))), PROPER(g(c))) by

TOP(mark(g(c))) → c8(TOP(ok(g(c))), PROPER(g(c)))
TOP(mark(g(c))) → c8(PROPER(g(c)))

(132) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(f(c))) → c1(F(ok(f(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(f(g(c))) → c3(F(ok(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(f(c))) → c10(G(ok(f(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
PROPER(g(g(c))) → c11(G(ok(g(c))))
TOP(mark(f(c))) → c8(PROPER(f(c)))
TOP(mark(f(f(c)))) → c8(TOP(f(f(ok(c)))), PROPER(f(f(c))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))), PROPER(f(g(c))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
TOP(mark(g(c))) → c8(TOP(ok(g(c))), PROPER(g(c)))
TOP(mark(g(c))) → c8(PROPER(g(c)))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c8, c9, c9, c1, c3, c10, c11, c8, c4, c12, c13, c14, c15, c5, c16, c17, c18, c19

(133) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID) transformation)

Removed 1 trailing tuple parts

(134) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0))))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(f(c))) → c1(F(ok(f(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(f(g(c))) → c3(F(ok(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(f(c))) → c10(G(ok(f(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
PROPER(g(g(c))) → c11(G(ok(g(c))))
TOP(mark(f(c))) → c8(PROPER(f(c)))
TOP(mark(f(f(c)))) → c8(TOP(f(f(ok(c)))), PROPER(f(f(c))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))), PROPER(f(g(c))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
TOP(mark(g(c))) → c8(PROPER(g(c)))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c8, c9, c9, c1, c3, c10, c11, c8, c4, c12, c13, c14, c15, c5, c16, c17, c18, c19

(135) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace TOP(mark(g(f(z0)))) → c8(TOP(g(f(proper(z0)))), PROPER(g(f(z0)))) by

TOP(mark(g(f(c)))) → c8(TOP(g(f(ok(c)))), PROPER(g(f(c))))
TOP(mark(g(f(f(z0))))) → c8(TOP(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
TOP(mark(g(f(g(z0))))) → c8(TOP(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))

(136) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(f(c))) → c1(F(ok(f(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(f(g(c))) → c3(F(ok(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(f(c))) → c10(G(ok(f(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
PROPER(g(g(c))) → c11(G(ok(g(c))))
TOP(mark(f(c))) → c8(PROPER(f(c)))
TOP(mark(f(f(c)))) → c8(TOP(f(f(ok(c)))), PROPER(f(f(c))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))), PROPER(f(g(c))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
TOP(mark(g(c))) → c8(PROPER(g(c)))
TOP(mark(g(f(c)))) → c8(TOP(g(f(ok(c)))), PROPER(g(f(c))))
TOP(mark(g(f(f(z0))))) → c8(TOP(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
TOP(mark(g(f(g(z0))))) → c8(TOP(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c8, c9, c9, c1, c3, c10, c11, c8, c4, c12, c13, c14, c15, c5, c16, c17, c18, c19

(137) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace TOP(mark(g(g(z0)))) → c8(TOP(g(g(proper(z0)))), PROPER(g(g(z0)))) by

TOP(mark(g(g(c)))) → c8(TOP(g(g(ok(c)))), PROPER(g(g(c))))
TOP(mark(g(g(f(z0))))) → c8(TOP(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
TOP(mark(g(g(g(z0))))) → c8(TOP(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))

(138) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(f(c))) → c1(F(ok(f(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(f(g(c))) → c3(F(ok(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(f(c))) → c10(G(ok(f(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
PROPER(g(g(c))) → c11(G(ok(g(c))))
TOP(mark(f(c))) → c8(PROPER(f(c)))
TOP(mark(f(f(c)))) → c8(TOP(f(f(ok(c)))), PROPER(f(f(c))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))), PROPER(f(g(c))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
TOP(mark(g(c))) → c8(PROPER(g(c)))
TOP(mark(g(f(c)))) → c8(TOP(g(f(ok(c)))), PROPER(g(f(c))))
TOP(mark(g(f(f(z0))))) → c8(TOP(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
TOP(mark(g(f(g(z0))))) → c8(TOP(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
TOP(mark(g(g(c)))) → c8(TOP(g(g(ok(c)))), PROPER(g(g(c))))
TOP(mark(g(g(f(z0))))) → c8(TOP(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
TOP(mark(g(g(g(z0))))) → c8(TOP(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c8, c9, c9, c1, c3, c10, c11, c4, c12, c13, c14, c15, c5, c16, c17, c18, c19, c8

(139) CdtRewritingProof (BOTH BOUNDS(ID, ID) transformation)

Used rewriting to replace PROPER(f(f(f(c)))) → c12(F(f(f(ok(c))))) by PROPER(f(f(f(c)))) → c12(F(f(ok(f(c)))))

(140) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(f(c))) → c1(F(ok(f(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(f(g(c))) → c3(F(ok(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(f(c))) → c10(G(ok(f(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
PROPER(g(g(c))) → c11(G(ok(g(c))))
TOP(mark(f(c))) → c8(PROPER(f(c)))
TOP(mark(f(f(c)))) → c8(TOP(f(f(ok(c)))), PROPER(f(f(c))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))), PROPER(f(g(c))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
TOP(mark(g(c))) → c8(PROPER(g(c)))
TOP(mark(g(f(c)))) → c8(TOP(g(f(ok(c)))), PROPER(g(f(c))))
TOP(mark(g(f(f(z0))))) → c8(TOP(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
TOP(mark(g(f(g(z0))))) → c8(TOP(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
TOP(mark(g(g(c)))) → c8(TOP(g(g(ok(c)))), PROPER(g(g(c))))
TOP(mark(g(g(f(z0))))) → c8(TOP(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
TOP(mark(g(g(g(z0))))) → c8(TOP(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(ok(f(c)))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c8, c9, c9, c1, c3, c10, c11, c4, c12, c13, c14, c15, c5, c16, c17, c18, c19, c8

(141) CdtRewritingProof (BOTH BOUNDS(ID, ID) transformation)

Used rewriting to replace PROPER(f(f(g(c)))) → c13(F(f(g(ok(c))))) by PROPER(f(f(g(c)))) → c13(F(f(ok(g(c)))))

(142) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

ACTIVE(f(g(z0))) → c2(G(z0))
F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(f(c))) → c1(F(ok(f(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(f(g(c))) → c3(F(ok(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(f(c))) → c10(G(ok(f(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
PROPER(g(g(c))) → c11(G(ok(g(c))))
TOP(mark(f(c))) → c8(PROPER(f(c)))
TOP(mark(f(f(c)))) → c8(TOP(f(f(ok(c)))), PROPER(f(f(c))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))), PROPER(f(g(c))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
TOP(mark(g(c))) → c8(PROPER(g(c)))
TOP(mark(g(f(c)))) → c8(TOP(g(f(ok(c)))), PROPER(g(f(c))))
TOP(mark(g(f(f(z0))))) → c8(TOP(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
TOP(mark(g(f(g(z0))))) → c8(TOP(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
TOP(mark(g(g(c)))) → c8(TOP(g(g(ok(c)))), PROPER(g(g(c))))
TOP(mark(g(g(f(z0))))) → c8(TOP(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
TOP(mark(g(g(g(z0))))) → c8(TOP(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(ok(f(c)))))
PROPER(f(f(g(c)))) → c13(F(f(ok(g(c)))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
ACTIVE(f(g(z0))) → c2(G(z0))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

ACTIVE, F, G, PROPER, TOP

Compound Symbols:

c2, c6, c7, c4, c5, c8, c9, c9, c1, c3, c10, c11, c4, c12, c13, c14, c15, c5, c16, c17, c18, c19, c8

(143) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID) transformation)

Use forward instantiation to replace ACTIVE(f(g(z0))) → c2(G(z0)) by

ACTIVE(f(g(ok(y0)))) → c2(G(ok(y0)))

(144) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(f(c))) → c1(F(ok(f(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(f(g(c))) → c3(F(ok(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(f(c))) → c10(G(ok(f(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
PROPER(g(g(c))) → c11(G(ok(g(c))))
TOP(mark(f(c))) → c8(PROPER(f(c)))
TOP(mark(f(f(c)))) → c8(TOP(f(f(ok(c)))), PROPER(f(f(c))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))), PROPER(f(g(c))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
TOP(mark(g(c))) → c8(PROPER(g(c)))
TOP(mark(g(f(c)))) → c8(TOP(g(f(ok(c)))), PROPER(g(f(c))))
TOP(mark(g(f(f(z0))))) → c8(TOP(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
TOP(mark(g(f(g(z0))))) → c8(TOP(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
TOP(mark(g(g(c)))) → c8(TOP(g(g(ok(c)))), PROPER(g(g(c))))
TOP(mark(g(g(f(z0))))) → c8(TOP(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
TOP(mark(g(g(g(z0))))) → c8(TOP(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(ok(f(c)))))
PROPER(f(f(g(c)))) → c13(F(f(ok(g(c)))))
ACTIVE(f(g(ok(y0)))) → c2(G(ok(y0)))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
K tuples:

TOP(mark(z0)) → c8(TOP(proper(z0)), PROPER(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(f(c))) → c1(F(f(ok(c))))
PROPER(f(g(c))) → c3(F(g(ok(c))))
PROPER(g(f(c))) → c10(G(f(ok(c))))
PROPER(g(g(c))) → c11(G(g(ok(c))))
PROPER(f(f(f(c)))) → c12(F(f(f(ok(c)))))
PROPER(f(f(g(c)))) → c13(F(f(g(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
ACTIVE(f(g(ok(y0)))) → c2(G(ok(y0)))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

F, G, PROPER, TOP, ACTIVE

Compound Symbols:

c6, c7, c4, c5, c8, c9, c9, c1, c3, c10, c11, c4, c12, c13, c14, c15, c5, c16, c17, c18, c19, c8, c2

(145) CdtLeafRemovalProof (ComplexityIfPolyImplication transformation)

Removed 1 leading nodes:

ACTIVE(f(g(ok(y0)))) → c2(G(ok(y0)))

(146) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(f(c))) → c1(F(ok(f(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(f(g(c))) → c3(F(ok(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(f(c))) → c10(G(ok(f(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
PROPER(g(g(c))) → c11(G(ok(g(c))))
TOP(mark(f(c))) → c8(PROPER(f(c)))
TOP(mark(f(f(c)))) → c8(TOP(f(f(ok(c)))), PROPER(f(f(c))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))), PROPER(f(g(c))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
TOP(mark(g(c))) → c8(PROPER(g(c)))
TOP(mark(g(f(c)))) → c8(TOP(g(f(ok(c)))), PROPER(g(f(c))))
TOP(mark(g(f(f(z0))))) → c8(TOP(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
TOP(mark(g(f(g(z0))))) → c8(TOP(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
TOP(mark(g(g(c)))) → c8(TOP(g(g(ok(c)))), PROPER(g(g(c))))
TOP(mark(g(g(f(z0))))) → c8(TOP(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
TOP(mark(g(g(g(z0))))) → c8(TOP(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(ok(f(c)))))
PROPER(f(f(g(c)))) → c13(F(f(ok(g(c)))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
K tuples:

PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))), ACTIVE(f(g(z0))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

F, G, PROPER, TOP

Compound Symbols:

c6, c7, c4, c5, c8, c9, c9, c1, c3, c10, c11, c4, c12, c13, c14, c15, c5, c16, c17, c18, c19, c8

(147) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID) transformation)

Removed 1 trailing tuple parts

(148) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(f(c))) → c1(F(ok(f(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(f(g(c))) → c3(F(ok(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(f(c))) → c10(G(ok(f(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
PROPER(g(g(c))) → c11(G(ok(g(c))))
TOP(mark(f(c))) → c8(PROPER(f(c)))
TOP(mark(f(f(c)))) → c8(TOP(f(f(ok(c)))), PROPER(f(f(c))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))), PROPER(f(g(c))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
TOP(mark(g(c))) → c8(PROPER(g(c)))
TOP(mark(g(f(c)))) → c8(TOP(g(f(ok(c)))), PROPER(g(f(c))))
TOP(mark(g(f(f(z0))))) → c8(TOP(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
TOP(mark(g(f(g(z0))))) → c8(TOP(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
TOP(mark(g(g(c)))) → c8(TOP(g(g(ok(c)))), PROPER(g(g(c))))
TOP(mark(g(g(f(z0))))) → c8(TOP(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
TOP(mark(g(g(g(z0))))) → c8(TOP(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(ok(f(c)))))
PROPER(f(f(g(c)))) → c13(F(f(ok(g(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
S tuples:

F(ok(z0)) → c6(F(z0))
G(ok(z0)) → c7(G(z0))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
K tuples:

PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

F, G, PROPER, TOP

Compound Symbols:

c6, c7, c4, c5, c8, c9, c1, c3, c10, c11, c4, c12, c13, c14, c15, c5, c16, c17, c18, c19, c8

(149) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID) transformation)

Use forward instantiation to replace F(ok(z0)) → c6(F(z0)) by

F(ok(ok(y0))) → c6(F(ok(y0)))

(150) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

G(ok(z0)) → c7(G(z0))
PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(f(c))) → c1(F(ok(f(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(f(g(c))) → c3(F(ok(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(f(c))) → c10(G(ok(f(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
PROPER(g(g(c))) → c11(G(ok(g(c))))
TOP(mark(f(c))) → c8(PROPER(f(c)))
TOP(mark(f(f(c)))) → c8(TOP(f(f(ok(c)))), PROPER(f(f(c))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))), PROPER(f(g(c))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
TOP(mark(g(c))) → c8(PROPER(g(c)))
TOP(mark(g(f(c)))) → c8(TOP(g(f(ok(c)))), PROPER(g(f(c))))
TOP(mark(g(f(f(z0))))) → c8(TOP(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
TOP(mark(g(f(g(z0))))) → c8(TOP(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
TOP(mark(g(g(c)))) → c8(TOP(g(g(ok(c)))), PROPER(g(g(c))))
TOP(mark(g(g(f(z0))))) → c8(TOP(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
TOP(mark(g(g(g(z0))))) → c8(TOP(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(ok(f(c)))))
PROPER(f(f(g(c)))) → c13(F(f(ok(g(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
F(ok(ok(y0))) → c6(F(ok(y0)))
S tuples:

G(ok(z0)) → c7(G(z0))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
F(ok(ok(y0))) → c6(F(ok(y0)))
K tuples:

PROPER(f(c)) → c4(F(ok(c)))
PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

G, PROPER, TOP, F

Compound Symbols:

c7, c4, c5, c8, c9, c1, c3, c10, c11, c4, c12, c13, c14, c15, c5, c16, c17, c18, c19, c8, c6

(151) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 4 trailing nodes:

PROPER(f(c)) → c4(F(ok(c)))
PROPER(f(g(c))) → c3(F(ok(g(c))))
PROPER(f(f(c))) → c1(F(ok(f(c))))
TOP(mark(f(c))) → c8(PROPER(f(c)))

(152) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

G(ok(z0)) → c7(G(z0))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(f(c))) → c10(G(ok(f(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
PROPER(g(g(c))) → c11(G(ok(g(c))))
TOP(mark(f(f(c)))) → c8(TOP(f(f(ok(c)))), PROPER(f(f(c))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))), PROPER(f(g(c))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
TOP(mark(g(c))) → c8(PROPER(g(c)))
TOP(mark(g(f(c)))) → c8(TOP(g(f(ok(c)))), PROPER(g(f(c))))
TOP(mark(g(f(f(z0))))) → c8(TOP(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
TOP(mark(g(f(g(z0))))) → c8(TOP(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
TOP(mark(g(g(c)))) → c8(TOP(g(g(ok(c)))), PROPER(g(g(c))))
TOP(mark(g(g(f(z0))))) → c8(TOP(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
TOP(mark(g(g(g(z0))))) → c8(TOP(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(ok(f(c)))))
PROPER(f(f(g(c)))) → c13(F(f(ok(g(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
F(ok(ok(y0))) → c6(F(ok(y0)))
S tuples:

G(ok(z0)) → c7(G(z0))
PROPER(f(f(c))) → c1(PROPER(f(c)))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(f(c))) → c10(PROPER(f(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
F(ok(ok(y0))) → c6(F(ok(y0)))
K tuples:

PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

G, PROPER, TOP, F

Compound Symbols:

c7, c5, c8, c9, c1, c3, c10, c11, c4, c12, c13, c14, c15, c5, c16, c17, c18, c19, c8, c6

(153) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID) transformation)

Removed 2 trailing tuple parts

(154) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

G(ok(z0)) → c7(G(z0))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(f(c))) → c10(G(ok(f(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
PROPER(g(g(c))) → c11(G(ok(g(c))))
TOP(mark(f(f(c)))) → c8(TOP(f(f(ok(c)))), PROPER(f(f(c))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))), PROPER(f(g(c))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
TOP(mark(g(c))) → c8(PROPER(g(c)))
TOP(mark(g(f(c)))) → c8(TOP(g(f(ok(c)))), PROPER(g(f(c))))
TOP(mark(g(f(f(z0))))) → c8(TOP(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
TOP(mark(g(f(g(z0))))) → c8(TOP(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
TOP(mark(g(g(c)))) → c8(TOP(g(g(ok(c)))), PROPER(g(g(c))))
TOP(mark(g(g(f(z0))))) → c8(TOP(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
TOP(mark(g(g(g(z0))))) → c8(TOP(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(ok(f(c)))))
PROPER(f(f(g(c)))) → c13(F(f(ok(g(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
F(ok(ok(y0))) → c6(F(ok(y0)))
PROPER(f(f(c))) → c1
PROPER(g(f(c))) → c10
S tuples:

G(ok(z0)) → c7(G(z0))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
F(ok(ok(y0))) → c6(F(ok(y0)))
PROPER(f(f(c))) → c1
PROPER(g(f(c))) → c10
K tuples:

PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

G, PROPER, TOP, F

Compound Symbols:

c7, c5, c8, c9, c3, c11, c4, c12, c13, c14, c15, c5, c16, c17, c10, c18, c19, c8, c6, c1, c10

(155) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1)) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

PROPER(f(f(c))) → c1
PROPER(g(f(c))) → c10
We considered the (Usable) Rules:

g(ok(z0)) → ok(g(z0))
f(ok(z0)) → ok(f(z0))
And the Tuples:

G(ok(z0)) → c7(G(z0))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(f(c))) → c10(G(ok(f(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
PROPER(g(g(c))) → c11(G(ok(g(c))))
TOP(mark(f(f(c)))) → c8(TOP(f(f(ok(c)))), PROPER(f(f(c))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))), PROPER(f(g(c))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
TOP(mark(g(c))) → c8(PROPER(g(c)))
TOP(mark(g(f(c)))) → c8(TOP(g(f(ok(c)))), PROPER(g(f(c))))
TOP(mark(g(f(f(z0))))) → c8(TOP(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
TOP(mark(g(f(g(z0))))) → c8(TOP(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
TOP(mark(g(g(c)))) → c8(TOP(g(g(ok(c)))), PROPER(g(g(c))))
TOP(mark(g(g(f(z0))))) → c8(TOP(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
TOP(mark(g(g(g(z0))))) → c8(TOP(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(ok(f(c)))))
PROPER(f(f(g(c)))) → c13(F(f(ok(g(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
F(ok(ok(y0))) → c6(F(ok(y0)))
PROPER(f(f(c))) → c1
PROPER(g(f(c))) → c10
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(F(x1)) = 0   
POL(G(x1)) = 0   
POL(PROPER(x1)) = [1]   
POL(TOP(x1)) = [1] + x1   
POL(c) = [3]   
POL(c1) = 0   
POL(c10) = 0   
POL(c10(x1)) = x1   
POL(c11(x1)) = x1   
POL(c12(x1)) = x1   
POL(c13(x1)) = x1   
POL(c14(x1)) = x1   
POL(c15(x1)) = x1   
POL(c16(x1)) = x1   
POL(c17(x1)) = x1   
POL(c18(x1)) = x1   
POL(c19(x1)) = x1   
POL(c3(x1)) = x1   
POL(c4(x1, x2)) = x1 + x2   
POL(c5(x1)) = x1   
POL(c5(x1, x2)) = x1 + x2   
POL(c6(x1)) = x1   
POL(c7(x1)) = x1   
POL(c8(x1)) = x1   
POL(c8(x1, x2)) = x1 + x2   
POL(c9(x1)) = x1   
POL(f(x1)) = [2]   
POL(g(x1)) = 0   
POL(mark(x1)) = [1] + x1   
POL(ok(x1)) = x1   
POL(proper(x1)) = 0   

(156) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

G(ok(z0)) → c7(G(z0))
PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(f(c))) → c10(G(ok(f(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
PROPER(g(g(c))) → c11(G(ok(g(c))))
TOP(mark(f(f(c)))) → c8(TOP(f(f(ok(c)))), PROPER(f(f(c))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))), PROPER(f(g(c))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
TOP(mark(g(c))) → c8(PROPER(g(c)))
TOP(mark(g(f(c)))) → c8(TOP(g(f(ok(c)))), PROPER(g(f(c))))
TOP(mark(g(f(f(z0))))) → c8(TOP(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
TOP(mark(g(f(g(z0))))) → c8(TOP(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
TOP(mark(g(g(c)))) → c8(TOP(g(g(ok(c)))), PROPER(g(g(c))))
TOP(mark(g(g(f(z0))))) → c8(TOP(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
TOP(mark(g(g(g(z0))))) → c8(TOP(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(ok(f(c)))))
PROPER(f(f(g(c)))) → c13(F(f(ok(g(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
F(ok(ok(y0))) → c6(F(ok(y0)))
PROPER(f(f(c))) → c1
PROPER(g(f(c))) → c10
S tuples:

G(ok(z0)) → c7(G(z0))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
F(ok(ok(y0))) → c6(F(ok(y0)))
K tuples:

PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
PROPER(f(f(c))) → c1
PROPER(g(f(c))) → c10
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

G, PROPER, TOP, F

Compound Symbols:

c7, c5, c8, c9, c3, c11, c4, c12, c13, c14, c15, c5, c16, c17, c10, c18, c19, c8, c6, c1, c10

(157) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID) transformation)

Use forward instantiation to replace G(ok(z0)) → c7(G(z0)) by

G(ok(ok(y0))) → c7(G(ok(y0)))

(158) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

PROPER(g(c)) → c5(G(ok(c)))
TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(f(c))) → c10(G(ok(f(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
PROPER(g(g(c))) → c11(G(ok(g(c))))
TOP(mark(f(f(c)))) → c8(TOP(f(f(ok(c)))), PROPER(f(f(c))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))), PROPER(f(g(c))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
TOP(mark(g(c))) → c8(PROPER(g(c)))
TOP(mark(g(f(c)))) → c8(TOP(g(f(ok(c)))), PROPER(g(f(c))))
TOP(mark(g(f(f(z0))))) → c8(TOP(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
TOP(mark(g(f(g(z0))))) → c8(TOP(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
TOP(mark(g(g(c)))) → c8(TOP(g(g(ok(c)))), PROPER(g(g(c))))
TOP(mark(g(g(f(z0))))) → c8(TOP(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
TOP(mark(g(g(g(z0))))) → c8(TOP(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(ok(f(c)))))
PROPER(f(f(g(c)))) → c13(F(f(ok(g(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
F(ok(ok(y0))) → c6(F(ok(y0)))
PROPER(f(f(c))) → c1
PROPER(g(f(c))) → c10
G(ok(ok(y0))) → c7(G(ok(y0)))
S tuples:

PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
K tuples:

PROPER(g(c)) → c5(G(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
PROPER(f(f(c))) → c1
PROPER(g(f(c))) → c10
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

PROPER, TOP, F, G

Compound Symbols:

c5, c8, c9, c3, c11, c4, c12, c13, c14, c15, c5, c16, c17, c10, c18, c19, c8, c6, c1, c10, c7

(159) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 6 trailing nodes:

PROPER(g(c)) → c5(G(ok(c)))
PROPER(g(g(c))) → c11(G(ok(g(c))))
PROPER(g(f(c))) → c10(G(ok(f(c))))
TOP(mark(g(c))) → c8(PROPER(g(c)))
PROPER(f(f(c))) → c1
PROPER(g(f(c))) → c10

(160) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
TOP(mark(f(f(c)))) → c8(TOP(f(f(ok(c)))), PROPER(f(f(c))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))), PROPER(f(g(c))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
TOP(mark(g(f(c)))) → c8(TOP(g(f(ok(c)))), PROPER(g(f(c))))
TOP(mark(g(f(f(z0))))) → c8(TOP(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
TOP(mark(g(f(g(z0))))) → c8(TOP(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
TOP(mark(g(g(c)))) → c8(TOP(g(g(ok(c)))), PROPER(g(g(c))))
TOP(mark(g(g(f(z0))))) → c8(TOP(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
TOP(mark(g(g(g(z0))))) → c8(TOP(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(ok(f(c)))))
PROPER(f(f(g(c)))) → c13(F(f(ok(g(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
S tuples:

PROPER(f(g(c))) → c3(PROPER(g(c)))
PROPER(g(g(c))) → c11(PROPER(g(c)))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(f(c)))) → c12(PROPER(f(f(c))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(PROPER(g(f(c))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(PROPER(f(f(c))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(PROPER(g(f(c))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
K tuples:

TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

TOP, PROPER, F, G

Compound Symbols:

c8, c9, c3, c11, c4, c12, c13, c14, c15, c5, c16, c17, c18, c19, c8, c6, c7

(161) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID) transformation)

Removed 8 trailing tuple parts

(162) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))), PROPER(f(g(c))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
TOP(mark(g(f(f(z0))))) → c8(TOP(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
TOP(mark(g(f(g(z0))))) → c8(TOP(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
TOP(mark(g(g(c)))) → c8(TOP(g(g(ok(c)))), PROPER(g(g(c))))
TOP(mark(g(g(f(z0))))) → c8(TOP(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
TOP(mark(g(g(g(z0))))) → c8(TOP(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(ok(f(c)))))
PROPER(f(f(g(c)))) → c13(F(f(ok(g(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
PROPER(f(g(c))) → c3
PROPER(g(g(c))) → c11
PROPER(f(f(f(c)))) → c12
PROPER(f(g(f(c)))) → c14
PROPER(g(f(f(c)))) → c16
PROPER(g(g(f(c)))) → c18
TOP(mark(f(f(c)))) → c8(TOP(f(f(ok(c)))))
TOP(mark(g(f(c)))) → c8(TOP(g(f(ok(c)))))
S tuples:

PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
PROPER(f(g(c))) → c3
PROPER(g(g(c))) → c11
PROPER(f(f(f(c)))) → c12
PROPER(f(g(f(c)))) → c14
PROPER(g(f(f(c)))) → c16
PROPER(g(g(f(c)))) → c18
K tuples:

TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

TOP, PROPER, F, G

Compound Symbols:

c8, c9, c4, c13, c14, c15, c5, c16, c17, c18, c19, c8, c12, c6, c7, c3, c11, c12, c14, c16, c18

(163) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1)) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

PROPER(f(g(c))) → c3
PROPER(g(g(c))) → c11
PROPER(f(f(f(c)))) → c12
PROPER(f(g(f(c)))) → c14
PROPER(g(f(f(c)))) → c16
PROPER(g(g(f(c)))) → c18
We considered the (Usable) Rules:

g(ok(z0)) → ok(g(z0))
f(ok(z0)) → ok(f(z0))
And the Tuples:

TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))), PROPER(f(g(c))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
TOP(mark(g(f(f(z0))))) → c8(TOP(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
TOP(mark(g(f(g(z0))))) → c8(TOP(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
TOP(mark(g(g(c)))) → c8(TOP(g(g(ok(c)))), PROPER(g(g(c))))
TOP(mark(g(g(f(z0))))) → c8(TOP(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
TOP(mark(g(g(g(z0))))) → c8(TOP(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(ok(f(c)))))
PROPER(f(f(g(c)))) → c13(F(f(ok(g(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
PROPER(f(g(c))) → c3
PROPER(g(g(c))) → c11
PROPER(f(f(f(c)))) → c12
PROPER(f(g(f(c)))) → c14
PROPER(g(f(f(c)))) → c16
PROPER(g(g(f(c)))) → c18
TOP(mark(f(f(c)))) → c8(TOP(f(f(ok(c)))))
TOP(mark(g(f(c)))) → c8(TOP(g(f(ok(c)))))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(F(x1)) = 0   
POL(G(x1)) = 0   
POL(PROPER(x1)) = [2]   
POL(TOP(x1)) = [2]x1   
POL(c) = [3]   
POL(c11) = 0   
POL(c12) = 0   
POL(c12(x1)) = x1   
POL(c13(x1)) = x1   
POL(c14) = 0   
POL(c14(x1)) = x1   
POL(c15(x1)) = x1   
POL(c16) = 0   
POL(c16(x1)) = x1   
POL(c17(x1)) = x1   
POL(c18) = 0   
POL(c18(x1)) = x1   
POL(c19(x1)) = x1   
POL(c3) = 0   
POL(c4(x1, x2)) = x1 + x2   
POL(c5(x1, x2)) = x1 + x2   
POL(c6(x1)) = x1   
POL(c7(x1)) = x1   
POL(c8(x1)) = x1   
POL(c8(x1, x2)) = x1 + x2   
POL(c9(x1)) = x1   
POL(f(x1)) = [2]   
POL(g(x1)) = 0   
POL(mark(x1)) = [1] + x1   
POL(ok(x1)) = x1   
POL(proper(x1)) = 0   

(164) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))), PROPER(f(g(c))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
TOP(mark(g(f(f(z0))))) → c8(TOP(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
TOP(mark(g(f(g(z0))))) → c8(TOP(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
TOP(mark(g(g(c)))) → c8(TOP(g(g(ok(c)))), PROPER(g(g(c))))
TOP(mark(g(g(f(z0))))) → c8(TOP(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
TOP(mark(g(g(g(z0))))) → c8(TOP(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(ok(f(c)))))
PROPER(f(f(g(c)))) → c13(F(f(ok(g(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
PROPER(f(g(c))) → c3
PROPER(g(g(c))) → c11
PROPER(f(f(f(c)))) → c12
PROPER(f(g(f(c)))) → c14
PROPER(g(f(f(c)))) → c16
PROPER(g(g(f(c)))) → c18
TOP(mark(f(f(c)))) → c8(TOP(f(f(ok(c)))))
TOP(mark(g(f(c)))) → c8(TOP(g(f(ok(c)))))
S tuples:

PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
K tuples:

TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
PROPER(f(g(c))) → c3
PROPER(g(g(c))) → c11
PROPER(f(f(f(c)))) → c12
PROPER(f(g(f(c)))) → c14
PROPER(g(f(f(c)))) → c16
PROPER(g(g(f(c)))) → c18
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

TOP, PROPER, F, G

Compound Symbols:

c8, c9, c4, c13, c14, c15, c5, c16, c17, c18, c19, c8, c12, c6, c7, c3, c11, c12, c14, c16, c18

(165) CdtRewritingProof (BOTH BOUNDS(ID, ID) transformation)

Used rewriting to replace PROPER(f(g(f(c)))) → c14(F(g(f(ok(c))))) by PROPER(f(g(f(c)))) → c14(F(g(ok(f(c)))))

(166) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))), PROPER(f(g(c))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
TOP(mark(g(f(f(z0))))) → c8(TOP(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
TOP(mark(g(f(g(z0))))) → c8(TOP(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
TOP(mark(g(g(c)))) → c8(TOP(g(g(ok(c)))), PROPER(g(g(c))))
TOP(mark(g(g(f(z0))))) → c8(TOP(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
TOP(mark(g(g(g(z0))))) → c8(TOP(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(ok(f(c)))))
PROPER(f(f(g(c)))) → c13(F(f(ok(g(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
PROPER(f(g(c))) → c3
PROPER(g(g(c))) → c11
PROPER(f(f(f(c)))) → c12
PROPER(f(g(f(c)))) → c14
PROPER(g(f(f(c)))) → c16
PROPER(g(g(f(c)))) → c18
TOP(mark(f(f(c)))) → c8(TOP(f(f(ok(c)))))
TOP(mark(g(f(c)))) → c8(TOP(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(ok(f(c)))))
S tuples:

PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
K tuples:

TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(g(f(c)))) → c14(F(g(f(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
PROPER(f(g(c))) → c3
PROPER(g(g(c))) → c11
PROPER(f(f(f(c)))) → c12
PROPER(f(g(f(c)))) → c14
PROPER(g(f(f(c)))) → c16
PROPER(g(g(f(c)))) → c18
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

TOP, PROPER, F, G

Compound Symbols:

c8, c9, c4, c13, c15, c5, c16, c17, c18, c19, c8, c12, c6, c7, c3, c11, c12, c14, c16, c18, c14

(167) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 6 trailing nodes:

PROPER(g(f(f(c)))) → c16
PROPER(f(g(c))) → c3
PROPER(f(f(f(c)))) → c12
PROPER(g(g(f(c)))) → c18
PROPER(g(g(c))) → c11
PROPER(f(g(f(c)))) → c14

(168) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))), PROPER(f(g(c))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
TOP(mark(g(f(f(z0))))) → c8(TOP(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
TOP(mark(g(f(g(z0))))) → c8(TOP(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
TOP(mark(g(g(c)))) → c8(TOP(g(g(ok(c)))), PROPER(g(g(c))))
TOP(mark(g(g(f(z0))))) → c8(TOP(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
TOP(mark(g(g(g(z0))))) → c8(TOP(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(ok(f(c)))))
PROPER(f(f(g(c)))) → c13(F(f(ok(g(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
TOP(mark(f(f(c)))) → c8(TOP(f(f(ok(c)))))
TOP(mark(g(f(c)))) → c8(TOP(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(ok(f(c)))))
S tuples:

PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(PROPER(f(g(c))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(PROPER(g(g(c))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(PROPER(f(g(c))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(PROPER(g(g(c))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
K tuples:

TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

TOP, PROPER, F, G

Compound Symbols:

c8, c9, c4, c13, c15, c5, c16, c17, c18, c19, c8, c12, c6, c7, c14

(169) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID) transformation)

Removed 6 trailing tuple parts

(170) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
TOP(mark(g(f(f(z0))))) → c8(TOP(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
TOP(mark(g(f(g(z0))))) → c8(TOP(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
TOP(mark(g(g(f(z0))))) → c8(TOP(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
TOP(mark(g(g(g(z0))))) → c8(TOP(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(ok(f(c)))))
PROPER(f(f(g(c)))) → c13(F(f(ok(g(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
TOP(mark(f(f(c)))) → c8(TOP(f(f(ok(c)))))
TOP(mark(g(f(c)))) → c8(TOP(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(ok(f(c)))))
PROPER(f(f(g(c)))) → c13
PROPER(f(g(g(c)))) → c15
PROPER(g(f(g(c)))) → c17
PROPER(g(g(g(c)))) → c19
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))))
TOP(mark(g(g(c)))) → c8(TOP(g(g(ok(c)))))
S tuples:

PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
PROPER(f(f(g(c)))) → c13
PROPER(f(g(g(c)))) → c15
PROPER(g(f(g(c)))) → c17
PROPER(g(g(g(c)))) → c19
K tuples:

TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

TOP, PROPER, F, G

Compound Symbols:

c8, c9, c4, c15, c5, c16, c17, c18, c19, c8, c12, c13, c6, c7, c14, c13, c15, c17, c19

(171) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1)) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

PROPER(f(f(g(c)))) → c13
PROPER(f(g(g(c)))) → c15
PROPER(g(f(g(c)))) → c17
PROPER(g(g(g(c)))) → c19
We considered the (Usable) Rules:

g(ok(z0)) → ok(g(z0))
f(ok(z0)) → ok(f(z0))
And the Tuples:

TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
TOP(mark(g(f(f(z0))))) → c8(TOP(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
TOP(mark(g(f(g(z0))))) → c8(TOP(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
TOP(mark(g(g(f(z0))))) → c8(TOP(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
TOP(mark(g(g(g(z0))))) → c8(TOP(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(ok(f(c)))))
PROPER(f(f(g(c)))) → c13(F(f(ok(g(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
TOP(mark(f(f(c)))) → c8(TOP(f(f(ok(c)))))
TOP(mark(g(f(c)))) → c8(TOP(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(ok(f(c)))))
PROPER(f(f(g(c)))) → c13
PROPER(f(g(g(c)))) → c15
PROPER(g(f(g(c)))) → c17
PROPER(g(g(g(c)))) → c19
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))))
TOP(mark(g(g(c)))) → c8(TOP(g(g(ok(c)))))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(F(x1)) = 0   
POL(G(x1)) = 0   
POL(PROPER(x1)) = [1]   
POL(TOP(x1)) = [2]x1   
POL(c) = [2]   
POL(c12(x1)) = x1   
POL(c13) = 0   
POL(c13(x1)) = x1   
POL(c14(x1)) = x1   
POL(c15) = 0   
POL(c15(x1)) = x1   
POL(c16(x1)) = x1   
POL(c17) = 0   
POL(c17(x1)) = x1   
POL(c18(x1)) = x1   
POL(c19) = 0   
POL(c19(x1)) = x1   
POL(c4(x1, x2)) = x1 + x2   
POL(c5(x1, x2)) = x1 + x2   
POL(c6(x1)) = x1   
POL(c7(x1)) = x1   
POL(c8(x1)) = x1   
POL(c8(x1, x2)) = x1 + x2   
POL(c9(x1)) = x1   
POL(f(x1)) = [1]   
POL(g(x1)) = 0   
POL(mark(x1)) = [1] + x1   
POL(ok(x1)) = x1   
POL(proper(x1)) = 0   

(172) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
TOP(mark(g(f(f(z0))))) → c8(TOP(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
TOP(mark(g(f(g(z0))))) → c8(TOP(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
TOP(mark(g(g(f(z0))))) → c8(TOP(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
TOP(mark(g(g(g(z0))))) → c8(TOP(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(ok(f(c)))))
PROPER(f(f(g(c)))) → c13(F(f(ok(g(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
TOP(mark(f(f(c)))) → c8(TOP(f(f(ok(c)))))
TOP(mark(g(f(c)))) → c8(TOP(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(ok(f(c)))))
PROPER(f(f(g(c)))) → c13
PROPER(f(g(g(c)))) → c15
PROPER(g(f(g(c)))) → c17
PROPER(g(g(g(c)))) → c19
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))))
TOP(mark(g(g(c)))) → c8(TOP(g(g(ok(c)))))
S tuples:

PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
K tuples:

TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
PROPER(f(f(g(c)))) → c13
PROPER(f(g(g(c)))) → c15
PROPER(g(f(g(c)))) → c17
PROPER(g(g(g(c)))) → c19
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

TOP, PROPER, F, G

Compound Symbols:

c8, c9, c4, c15, c5, c16, c17, c18, c19, c8, c12, c13, c6, c7, c14, c13, c15, c17, c19

(173) CdtRewritingProof (BOTH BOUNDS(ID, ID) transformation)

Used rewriting to replace PROPER(f(g(g(c)))) → c15(F(g(g(ok(c))))) by PROPER(f(g(g(c)))) → c15(F(g(ok(g(c)))))

(174) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
TOP(mark(g(f(f(z0))))) → c8(TOP(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
TOP(mark(g(f(g(z0))))) → c8(TOP(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
TOP(mark(g(g(f(z0))))) → c8(TOP(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
TOP(mark(g(g(g(z0))))) → c8(TOP(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(ok(f(c)))))
PROPER(f(f(g(c)))) → c13(F(f(ok(g(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
TOP(mark(f(f(c)))) → c8(TOP(f(f(ok(c)))))
TOP(mark(g(f(c)))) → c8(TOP(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(ok(f(c)))))
PROPER(f(f(g(c)))) → c13
PROPER(f(g(g(c)))) → c15
PROPER(g(f(g(c)))) → c17
PROPER(g(g(g(c)))) → c19
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))))
TOP(mark(g(g(c)))) → c8(TOP(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(ok(g(c)))))
S tuples:

PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
K tuples:

TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(g(g(c)))) → c15(F(g(g(ok(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
PROPER(f(f(g(c)))) → c13
PROPER(f(g(g(c)))) → c15
PROPER(g(f(g(c)))) → c17
PROPER(g(g(g(c)))) → c19
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

TOP, PROPER, F, G

Compound Symbols:

c8, c9, c4, c5, c16, c17, c18, c19, c8, c12, c13, c6, c7, c14, c13, c15, c17, c19, c15

(175) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 4 trailing nodes:

PROPER(f(g(g(c)))) → c15
PROPER(g(g(g(c)))) → c19
PROPER(g(f(g(c)))) → c17
PROPER(f(f(g(c)))) → c13

(176) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
TOP(mark(g(f(f(z0))))) → c8(TOP(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
TOP(mark(g(f(g(z0))))) → c8(TOP(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
TOP(mark(g(g(f(z0))))) → c8(TOP(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
TOP(mark(g(g(g(z0))))) → c8(TOP(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(ok(f(c)))))
PROPER(f(f(g(c)))) → c13(F(f(ok(g(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
TOP(mark(f(f(c)))) → c8(TOP(f(f(ok(c)))))
TOP(mark(g(f(c)))) → c8(TOP(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(ok(f(c)))))
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))))
TOP(mark(g(g(c)))) → c8(TOP(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(ok(g(c)))))
S tuples:

PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
K tuples:

TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

TOP, PROPER, F, G

Compound Symbols:

c8, c9, c4, c5, c16, c17, c18, c19, c8, c12, c13, c6, c7, c14, c15

(177) CdtRewritingProof (BOTH BOUNDS(ID, ID) transformation)

Used rewriting to replace PROPER(g(f(f(c)))) → c16(G(f(f(ok(c))))) by PROPER(g(f(f(c)))) → c16(G(f(ok(f(c)))))

(178) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
TOP(mark(g(f(f(z0))))) → c8(TOP(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
TOP(mark(g(f(g(z0))))) → c8(TOP(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
TOP(mark(g(g(f(z0))))) → c8(TOP(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
TOP(mark(g(g(g(z0))))) → c8(TOP(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(ok(f(c)))))
PROPER(f(f(g(c)))) → c13(F(f(ok(g(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
TOP(mark(f(f(c)))) → c8(TOP(f(f(ok(c)))))
TOP(mark(g(f(c)))) → c8(TOP(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(ok(f(c)))))
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))))
TOP(mark(g(g(c)))) → c8(TOP(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(ok(g(c)))))
PROPER(g(f(f(c)))) → c16(G(f(ok(f(c)))))
S tuples:

PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
K tuples:

TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

TOP, PROPER, F, G

Compound Symbols:

c8, c9, c4, c5, c17, c18, c19, c8, c12, c13, c6, c7, c14, c15, c16

(179) CdtRewritingProof (BOTH BOUNDS(ID, ID) transformation)

Used rewriting to replace PROPER(g(f(g(c)))) → c17(G(f(g(ok(c))))) by PROPER(g(f(g(c)))) → c17(G(f(ok(g(c)))))

(180) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
TOP(mark(g(f(f(z0))))) → c8(TOP(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
TOP(mark(g(f(g(z0))))) → c8(TOP(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
TOP(mark(g(g(f(z0))))) → c8(TOP(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
TOP(mark(g(g(g(z0))))) → c8(TOP(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(ok(f(c)))))
PROPER(f(f(g(c)))) → c13(F(f(ok(g(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
TOP(mark(f(f(c)))) → c8(TOP(f(f(ok(c)))))
TOP(mark(g(f(c)))) → c8(TOP(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(ok(f(c)))))
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))))
TOP(mark(g(g(c)))) → c8(TOP(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(ok(g(c)))))
PROPER(g(f(f(c)))) → c16(G(f(ok(f(c)))))
PROPER(g(f(g(c)))) → c17(G(f(ok(g(c)))))
S tuples:

PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
K tuples:

TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

TOP, PROPER, F, G

Compound Symbols:

c8, c9, c4, c5, c18, c19, c8, c12, c13, c6, c7, c14, c15, c16, c17

(181) CdtRewritingProof (BOTH BOUNDS(ID, ID) transformation)

Used rewriting to replace PROPER(g(g(f(c)))) → c18(G(g(f(ok(c))))) by PROPER(g(g(f(c)))) → c18(G(g(ok(f(c)))))

(182) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
TOP(mark(g(f(f(z0))))) → c8(TOP(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
TOP(mark(g(f(g(z0))))) → c8(TOP(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
TOP(mark(g(g(f(z0))))) → c8(TOP(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
TOP(mark(g(g(g(z0))))) → c8(TOP(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(ok(f(c)))))
PROPER(f(f(g(c)))) → c13(F(f(ok(g(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
TOP(mark(f(f(c)))) → c8(TOP(f(f(ok(c)))))
TOP(mark(g(f(c)))) → c8(TOP(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(ok(f(c)))))
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))))
TOP(mark(g(g(c)))) → c8(TOP(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(ok(g(c)))))
PROPER(g(f(f(c)))) → c16(G(f(ok(f(c)))))
PROPER(g(f(g(c)))) → c17(G(f(ok(g(c)))))
PROPER(g(g(f(c)))) → c18(G(g(ok(f(c)))))
S tuples:

PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
K tuples:

TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

TOP, PROPER, F, G

Compound Symbols:

c8, c9, c4, c5, c19, c8, c12, c13, c6, c7, c14, c15, c16, c17, c18

(183) CdtRewritingProof (BOTH BOUNDS(ID, ID) transformation)

Used rewriting to replace PROPER(g(g(g(c)))) → c19(G(g(g(ok(c))))) by PROPER(g(g(g(c)))) → c19(G(g(ok(g(c)))))

(184) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
TOP(mark(g(f(f(z0))))) → c8(TOP(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
TOP(mark(g(f(g(z0))))) → c8(TOP(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
TOP(mark(g(g(f(z0))))) → c8(TOP(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
TOP(mark(g(g(g(z0))))) → c8(TOP(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(f(f(c)))) → c12(F(f(ok(f(c)))))
PROPER(f(f(g(c)))) → c13(F(f(ok(g(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
TOP(mark(f(f(c)))) → c8(TOP(f(f(ok(c)))))
TOP(mark(g(f(c)))) → c8(TOP(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(ok(f(c)))))
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))))
TOP(mark(g(g(c)))) → c8(TOP(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(ok(g(c)))))
PROPER(g(f(f(c)))) → c16(G(f(ok(f(c)))))
PROPER(g(f(g(c)))) → c17(G(f(ok(g(c)))))
PROPER(g(g(f(c)))) → c18(G(g(ok(f(c)))))
PROPER(g(g(g(c)))) → c19(G(g(ok(g(c)))))
S tuples:

PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
K tuples:

TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

TOP, PROPER, F, G

Compound Symbols:

c8, c9, c4, c5, c8, c12, c13, c6, c7, c14, c15, c16, c17, c18, c19

(185) CdtRewritingProof (BOTH BOUNDS(ID, ID) transformation)

Used rewriting to replace PROPER(f(f(f(c)))) → c12(F(f(ok(f(c))))) by PROPER(f(f(f(c)))) → c12(F(ok(f(f(c)))))

(186) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
TOP(mark(g(f(f(z0))))) → c8(TOP(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
TOP(mark(g(f(g(z0))))) → c8(TOP(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
TOP(mark(g(g(f(z0))))) → c8(TOP(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
TOP(mark(g(g(g(z0))))) → c8(TOP(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(F(f(ok(g(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
TOP(mark(f(f(c)))) → c8(TOP(f(f(ok(c)))))
TOP(mark(g(f(c)))) → c8(TOP(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(ok(f(c)))))
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))))
TOP(mark(g(g(c)))) → c8(TOP(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(ok(g(c)))))
PROPER(g(f(f(c)))) → c16(G(f(ok(f(c)))))
PROPER(g(f(g(c)))) → c17(G(f(ok(g(c)))))
PROPER(g(g(f(c)))) → c18(G(g(ok(f(c)))))
PROPER(g(g(g(c)))) → c19(G(g(ok(g(c)))))
PROPER(f(f(f(c)))) → c12(F(ok(f(f(c)))))
S tuples:

PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
K tuples:

TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(g(f(f(c)))) → c16(G(f(f(ok(c)))))
PROPER(g(f(g(c)))) → c17(G(f(g(ok(c)))))
PROPER(g(g(f(c)))) → c18(G(g(f(ok(c)))))
PROPER(g(g(g(c)))) → c19(G(g(g(ok(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

TOP, PROPER, F, G

Compound Symbols:

c8, c9, c4, c5, c8, c13, c6, c7, c14, c15, c16, c17, c18, c19, c12

(187) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 1 trailing nodes:

PROPER(f(f(f(c)))) → c12(F(ok(f(f(c)))))

(188) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
TOP(mark(g(f(f(z0))))) → c8(TOP(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
TOP(mark(g(f(g(z0))))) → c8(TOP(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
TOP(mark(g(g(f(z0))))) → c8(TOP(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
TOP(mark(g(g(g(z0))))) → c8(TOP(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(f(f(g(c)))) → c13(F(f(ok(g(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
TOP(mark(f(f(c)))) → c8(TOP(f(f(ok(c)))))
TOP(mark(g(f(c)))) → c8(TOP(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(ok(f(c)))))
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))))
TOP(mark(g(g(c)))) → c8(TOP(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(ok(g(c)))))
PROPER(g(f(f(c)))) → c16(G(f(ok(f(c)))))
PROPER(g(f(g(c)))) → c17(G(f(ok(g(c)))))
PROPER(g(g(f(c)))) → c18(G(g(ok(f(c)))))
PROPER(g(g(g(c)))) → c19(G(g(ok(g(c)))))
S tuples:

PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
K tuples:

TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

TOP, PROPER, F, G

Compound Symbols:

c8, c9, c4, c5, c8, c13, c6, c7, c14, c15, c16, c17, c18, c19

(189) CdtRewritingProof (BOTH BOUNDS(ID, ID) transformation)

Used rewriting to replace PROPER(f(f(g(c)))) → c13(F(f(ok(g(c))))) by PROPER(f(f(g(c)))) → c13(F(ok(f(g(c)))))

(190) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
TOP(mark(g(f(f(z0))))) → c8(TOP(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
TOP(mark(g(f(g(z0))))) → c8(TOP(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
TOP(mark(g(g(f(z0))))) → c8(TOP(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
TOP(mark(g(g(g(z0))))) → c8(TOP(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
TOP(mark(f(f(c)))) → c8(TOP(f(f(ok(c)))))
TOP(mark(g(f(c)))) → c8(TOP(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(ok(f(c)))))
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))))
TOP(mark(g(g(c)))) → c8(TOP(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(ok(g(c)))))
PROPER(g(f(f(c)))) → c16(G(f(ok(f(c)))))
PROPER(g(f(g(c)))) → c17(G(f(ok(g(c)))))
PROPER(g(g(f(c)))) → c18(G(g(ok(f(c)))))
PROPER(g(g(g(c)))) → c19(G(g(ok(g(c)))))
PROPER(f(f(g(c)))) → c13(F(ok(f(g(c)))))
S tuples:

PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
K tuples:

TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

TOP, PROPER, F, G

Compound Symbols:

c8, c9, c4, c5, c8, c6, c7, c14, c15, c16, c17, c18, c19, c13

(191) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 1 trailing nodes:

PROPER(f(f(g(c)))) → c13(F(ok(f(g(c)))))

(192) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
TOP(mark(g(f(f(z0))))) → c8(TOP(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
TOP(mark(g(f(g(z0))))) → c8(TOP(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
TOP(mark(g(g(f(z0))))) → c8(TOP(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
TOP(mark(g(g(g(z0))))) → c8(TOP(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
TOP(mark(f(f(c)))) → c8(TOP(f(f(ok(c)))))
TOP(mark(g(f(c)))) → c8(TOP(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(ok(f(c)))))
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))))
TOP(mark(g(g(c)))) → c8(TOP(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(ok(g(c)))))
PROPER(g(f(f(c)))) → c16(G(f(ok(f(c)))))
PROPER(g(f(g(c)))) → c17(G(f(ok(g(c)))))
PROPER(g(g(f(c)))) → c18(G(g(ok(f(c)))))
PROPER(g(g(g(c)))) → c19(G(g(ok(g(c)))))
S tuples:

PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
K tuples:

TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

TOP, PROPER, F, G

Compound Symbols:

c8, c9, c4, c5, c8, c6, c7, c14, c15, c16, c17, c18, c19

(193) CdtRewritingProof (BOTH BOUNDS(ID, ID) transformation)

Used rewriting to replace TOP(mark(f(f(c)))) → c8(TOP(f(f(ok(c))))) by TOP(mark(f(f(c)))) → c8(TOP(f(ok(f(c)))))

(194) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
TOP(mark(g(f(f(z0))))) → c8(TOP(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
TOP(mark(g(f(g(z0))))) → c8(TOP(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
TOP(mark(g(g(f(z0))))) → c8(TOP(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
TOP(mark(g(g(g(z0))))) → c8(TOP(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
TOP(mark(g(f(c)))) → c8(TOP(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(ok(f(c)))))
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))))
TOP(mark(g(g(c)))) → c8(TOP(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(ok(g(c)))))
PROPER(g(f(f(c)))) → c16(G(f(ok(f(c)))))
PROPER(g(f(g(c)))) → c17(G(f(ok(g(c)))))
PROPER(g(g(f(c)))) → c18(G(g(ok(f(c)))))
PROPER(g(g(g(c)))) → c19(G(g(ok(g(c)))))
TOP(mark(f(f(c)))) → c8(TOP(f(ok(f(c)))))
S tuples:

PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
K tuples:

TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

TOP, PROPER, F, G

Compound Symbols:

c8, c9, c4, c5, c8, c6, c7, c14, c15, c16, c17, c18, c19

(195) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace TOP(mark(f(f(c)))) → c8(TOP(f(ok(f(c))))) by

TOP(mark(f(f(c)))) → c8(TOP(ok(f(f(c)))))

(196) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
TOP(mark(g(f(f(z0))))) → c8(TOP(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
TOP(mark(g(f(g(z0))))) → c8(TOP(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
TOP(mark(g(g(f(z0))))) → c8(TOP(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
TOP(mark(g(g(g(z0))))) → c8(TOP(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
TOP(mark(g(f(c)))) → c8(TOP(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(ok(f(c)))))
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))))
TOP(mark(g(g(c)))) → c8(TOP(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(ok(g(c)))))
PROPER(g(f(f(c)))) → c16(G(f(ok(f(c)))))
PROPER(g(f(g(c)))) → c17(G(f(ok(g(c)))))
PROPER(g(g(f(c)))) → c18(G(g(ok(f(c)))))
PROPER(g(g(g(c)))) → c19(G(g(ok(g(c)))))
TOP(mark(f(f(c)))) → c8(TOP(ok(f(f(c)))))
S tuples:

PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
K tuples:

TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

TOP, PROPER, F, G

Compound Symbols:

c8, c9, c4, c5, c8, c6, c7, c14, c15, c16, c17, c18, c19

(197) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 1 trailing nodes:

TOP(mark(f(f(c)))) → c8(TOP(ok(f(f(c)))))

(198) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
TOP(mark(g(f(f(z0))))) → c8(TOP(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
TOP(mark(g(f(g(z0))))) → c8(TOP(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
TOP(mark(g(g(f(z0))))) → c8(TOP(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
TOP(mark(g(g(g(z0))))) → c8(TOP(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
TOP(mark(g(f(c)))) → c8(TOP(g(f(ok(c)))))
PROPER(f(g(f(c)))) → c14(F(g(ok(f(c)))))
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))))
TOP(mark(g(g(c)))) → c8(TOP(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(ok(g(c)))))
PROPER(g(f(f(c)))) → c16(G(f(ok(f(c)))))
PROPER(g(f(g(c)))) → c17(G(f(ok(g(c)))))
PROPER(g(g(f(c)))) → c18(G(g(ok(f(c)))))
PROPER(g(g(g(c)))) → c19(G(g(ok(g(c)))))
S tuples:

PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
K tuples:

TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

TOP, PROPER, F, G

Compound Symbols:

c8, c9, c4, c5, c8, c6, c7, c14, c15, c16, c17, c18, c19

(199) CdtRewritingProof (BOTH BOUNDS(ID, ID) transformation)

Used rewriting to replace TOP(mark(g(f(c)))) → c8(TOP(g(f(ok(c))))) by TOP(mark(g(f(c)))) → c8(TOP(g(ok(f(c)))))

(200) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
TOP(mark(g(f(f(z0))))) → c8(TOP(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
TOP(mark(g(f(g(z0))))) → c8(TOP(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
TOP(mark(g(g(f(z0))))) → c8(TOP(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
TOP(mark(g(g(g(z0))))) → c8(TOP(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
PROPER(f(g(f(c)))) → c14(F(g(ok(f(c)))))
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))))
TOP(mark(g(g(c)))) → c8(TOP(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(ok(g(c)))))
PROPER(g(f(f(c)))) → c16(G(f(ok(f(c)))))
PROPER(g(f(g(c)))) → c17(G(f(ok(g(c)))))
PROPER(g(g(f(c)))) → c18(G(g(ok(f(c)))))
PROPER(g(g(g(c)))) → c19(G(g(ok(g(c)))))
TOP(mark(g(f(c)))) → c8(TOP(g(ok(f(c)))))
S tuples:

PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
K tuples:

TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

TOP, PROPER, F, G

Compound Symbols:

c8, c9, c4, c5, c8, c6, c7, c14, c15, c16, c17, c18, c19

(201) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace TOP(mark(g(f(c)))) → c8(TOP(g(ok(f(c))))) by

TOP(mark(g(f(c)))) → c8(TOP(ok(g(f(c)))))

(202) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
TOP(mark(g(f(f(z0))))) → c8(TOP(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
TOP(mark(g(f(g(z0))))) → c8(TOP(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
TOP(mark(g(g(f(z0))))) → c8(TOP(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
TOP(mark(g(g(g(z0))))) → c8(TOP(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
PROPER(f(g(f(c)))) → c14(F(g(ok(f(c)))))
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))))
TOP(mark(g(g(c)))) → c8(TOP(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(ok(g(c)))))
PROPER(g(f(f(c)))) → c16(G(f(ok(f(c)))))
PROPER(g(f(g(c)))) → c17(G(f(ok(g(c)))))
PROPER(g(g(f(c)))) → c18(G(g(ok(f(c)))))
PROPER(g(g(g(c)))) → c19(G(g(ok(g(c)))))
TOP(mark(g(f(c)))) → c8(TOP(ok(g(f(c)))))
S tuples:

PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
K tuples:

TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

TOP, PROPER, F, G

Compound Symbols:

c8, c9, c4, c5, c8, c6, c7, c14, c15, c16, c17, c18, c19

(203) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 1 trailing nodes:

TOP(mark(g(f(c)))) → c8(TOP(ok(g(f(c)))))

(204) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
TOP(mark(g(f(f(z0))))) → c8(TOP(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
TOP(mark(g(f(g(z0))))) → c8(TOP(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
TOP(mark(g(g(f(z0))))) → c8(TOP(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
TOP(mark(g(g(g(z0))))) → c8(TOP(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
PROPER(f(g(f(c)))) → c14(F(g(ok(f(c)))))
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))))
TOP(mark(g(g(c)))) → c8(TOP(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(ok(g(c)))))
PROPER(g(f(f(c)))) → c16(G(f(ok(f(c)))))
PROPER(g(f(g(c)))) → c17(G(f(ok(g(c)))))
PROPER(g(g(f(c)))) → c18(G(g(ok(f(c)))))
PROPER(g(g(g(c)))) → c19(G(g(ok(g(c)))))
S tuples:

PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
K tuples:

TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

TOP, PROPER, F, G

Compound Symbols:

c8, c9, c4, c5, c8, c6, c7, c14, c15, c16, c17, c18, c19

(205) CdtRewritingProof (BOTH BOUNDS(ID, ID) transformation)

Used rewriting to replace PROPER(f(g(f(c)))) → c14(F(g(ok(f(c))))) by PROPER(f(g(f(c)))) → c14(F(ok(g(f(c)))))

(206) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
TOP(mark(g(f(f(z0))))) → c8(TOP(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
TOP(mark(g(f(g(z0))))) → c8(TOP(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
TOP(mark(g(g(f(z0))))) → c8(TOP(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
TOP(mark(g(g(g(z0))))) → c8(TOP(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))))
TOP(mark(g(g(c)))) → c8(TOP(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(ok(g(c)))))
PROPER(g(f(f(c)))) → c16(G(f(ok(f(c)))))
PROPER(g(f(g(c)))) → c17(G(f(ok(g(c)))))
PROPER(g(g(f(c)))) → c18(G(g(ok(f(c)))))
PROPER(g(g(g(c)))) → c19(G(g(ok(g(c)))))
PROPER(f(g(f(c)))) → c14(F(ok(g(f(c)))))
S tuples:

PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
K tuples:

TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

TOP, PROPER, F, G

Compound Symbols:

c8, c9, c4, c5, c8, c6, c7, c15, c16, c17, c18, c19, c14

(207) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 1 trailing nodes:

PROPER(f(g(f(c)))) → c14(F(ok(g(f(c)))))

(208) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
TOP(mark(g(f(f(z0))))) → c8(TOP(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
TOP(mark(g(f(g(z0))))) → c8(TOP(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
TOP(mark(g(g(f(z0))))) → c8(TOP(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
TOP(mark(g(g(g(z0))))) → c8(TOP(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))))
TOP(mark(g(g(c)))) → c8(TOP(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(ok(g(c)))))
PROPER(g(f(f(c)))) → c16(G(f(ok(f(c)))))
PROPER(g(f(g(c)))) → c17(G(f(ok(g(c)))))
PROPER(g(g(f(c)))) → c18(G(g(ok(f(c)))))
PROPER(g(g(g(c)))) → c19(G(g(ok(g(c)))))
S tuples:

PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
K tuples:

TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

TOP, PROPER, F, G

Compound Symbols:

c8, c9, c4, c5, c8, c6, c7, c15, c16, c17, c18, c19

(209) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID) transformation)

Use forward instantiation to replace TOP(ok(f(g(z0)))) → c9(TOP(mark(g(z0)))) by

TOP(ok(f(g(f(f(y0)))))) → c9(TOP(mark(g(f(f(y0))))))
TOP(ok(f(g(f(g(y0)))))) → c9(TOP(mark(g(f(g(y0))))))
TOP(ok(f(g(g(f(y0)))))) → c9(TOP(mark(g(g(f(y0))))))
TOP(ok(f(g(g(g(y0)))))) → c9(TOP(mark(g(g(g(y0))))))
TOP(ok(f(g(g(c))))) → c9(TOP(mark(g(g(c)))))

(210) Obligation:

Complexity Dependency Tuples Problem
Rules:

f(ok(z0)) → ok(f(z0))
proper(c) → ok(c)
proper(f(z0)) → f(proper(z0))
proper(g(z0)) → g(proper(z0))
g(ok(z0)) → ok(g(z0))
Tuples:

TOP(mark(c)) → c8(TOP(ok(c)))
TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
TOP(mark(f(f(f(z0))))) → c8(TOP(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
TOP(mark(f(f(g(z0))))) → c8(TOP(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
TOP(mark(f(g(f(z0))))) → c8(TOP(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
TOP(mark(f(g(g(z0))))) → c8(TOP(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
TOP(mark(g(f(f(z0))))) → c8(TOP(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
TOP(mark(g(f(g(z0))))) → c8(TOP(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
TOP(mark(g(g(f(z0))))) → c8(TOP(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
TOP(mark(g(g(g(z0))))) → c8(TOP(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
TOP(mark(f(g(c)))) → c8(TOP(f(g(ok(c)))))
TOP(mark(g(g(c)))) → c8(TOP(g(g(ok(c)))))
PROPER(f(g(g(c)))) → c15(F(g(ok(g(c)))))
PROPER(g(f(f(c)))) → c16(G(f(ok(f(c)))))
PROPER(g(f(g(c)))) → c17(G(f(ok(g(c)))))
PROPER(g(g(f(c)))) → c18(G(g(ok(f(c)))))
PROPER(g(g(g(c)))) → c19(G(g(ok(g(c)))))
TOP(ok(f(g(f(f(y0)))))) → c9(TOP(mark(g(f(f(y0))))))
TOP(ok(f(g(f(g(y0)))))) → c9(TOP(mark(g(f(g(y0))))))
TOP(ok(f(g(g(f(y0)))))) → c9(TOP(mark(g(g(f(y0))))))
TOP(ok(f(g(g(g(y0)))))) → c9(TOP(mark(g(g(g(y0))))))
TOP(ok(f(g(g(c))))) → c9(TOP(mark(g(g(c)))))
S tuples:

PROPER(f(f(f(f(z0))))) → c4(F(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(f(f(f(g(z0))))) → c4(F(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(f(f(g(f(z0))))) → c4(F(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(f(f(g(g(z0))))) → c4(F(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(f(g(f(f(z0))))) → c4(F(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(f(g(f(g(z0))))) → c4(F(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(f(g(g(f(z0))))) → c4(F(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(f(g(g(g(z0))))) → c4(F(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
PROPER(g(f(f(f(z0))))) → c5(G(f(f(f(proper(z0))))), PROPER(f(f(f(z0)))))
PROPER(g(f(f(g(z0))))) → c5(G(f(f(g(proper(z0))))), PROPER(f(f(g(z0)))))
PROPER(g(f(g(f(z0))))) → c5(G(f(g(f(proper(z0))))), PROPER(f(g(f(z0)))))
PROPER(g(f(g(g(z0))))) → c5(G(f(g(g(proper(z0))))), PROPER(f(g(g(z0)))))
PROPER(g(g(f(f(z0))))) → c5(G(g(f(f(proper(z0))))), PROPER(g(f(f(z0)))))
PROPER(g(g(f(g(z0))))) → c5(G(g(f(g(proper(z0))))), PROPER(g(f(g(z0)))))
PROPER(g(g(g(f(z0))))) → c5(G(g(g(f(proper(z0))))), PROPER(g(g(f(z0)))))
PROPER(g(g(g(g(z0))))) → c5(G(g(g(g(proper(z0))))), PROPER(g(g(g(z0)))))
F(ok(ok(y0))) → c6(F(ok(y0)))
G(ok(ok(y0))) → c7(G(ok(y0)))
K tuples:

TOP(ok(c)) → c9(TOP(mark(f(g(c)))))
TOP(ok(f(g(f(f(y0)))))) → c9(TOP(mark(g(f(f(y0))))))
TOP(ok(f(g(f(g(y0)))))) → c9(TOP(mark(g(f(g(y0))))))
TOP(ok(f(g(g(f(y0)))))) → c9(TOP(mark(g(g(f(y0))))))
TOP(ok(f(g(g(g(y0)))))) → c9(TOP(mark(g(g(g(y0))))))
TOP(ok(f(g(g(c))))) → c9(TOP(mark(g(g(c)))))
Defined Rule Symbols:

f, proper, g

Defined Pair Symbols:

TOP, PROPER, F, G

Compound Symbols:

c8, c9, c4, c5, c8, c6, c7, c15, c16, c17, c18, c19